java 的文件操作,相對來說是比較重要的,無論是編寫CS還是BS程序,都避免不了要與文件打交道,例如讀寫配置文件等。雖然現在很多框架都直接幫你做好了這一步!
java.io.File 底層是調用與c語言接的接口,所以我們暫時不需要知道底層是怎么實現的,再說了,也看不見,最多就是看見一個接口而已。我們只需要知道java.io.File提供給我們對文件的一些操作就行了。
1.文件的創建
:java的文件創建可以直接通過new一個對象來實現。
1 File file = new File(String pathName) 2 3 File file = new File(String parent, String child)
主要的就是這兩種創建文件方式,第一種pathName是一個抽象路徑名。比如file = new File("E:/game/WM3.log"); 創建一個文件叫做E:/game/WM3.log
第二種就是抽象路徑名加上路徑名
文件操作的基本方法:
1 boolean exists() //文件是否已存在 2 3 boolean createNewFile() //當且僅當指定抽象路徑名不存在時創建一個新的空文件 4 5 boolean delete() //刪除指定抽象路徑名的文件 6 7 File getAbsoluteFile() //返回抽象路徑名抽象路徑名形式 8 9 String getAbsolutePath() //返回抽象路徑名的字符串形式 10 11 String getName() //返回抽象路徑名表示的文件或路徑 12 13 long length() //返回抽象路徑名的文件長度 14 15 String[] list() //返回抽象路徑名的文件或目錄的字符串數組 16 17 File[] listFiles() //返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件 18 19 File[] listFiles(FileFilter filter) //返回Filter過濾的抽象路徑名數組 20 21 boolean mkdir() //創建一個路徑名為目錄 22 23 boolean mkdirs() //創建多層的目錄,包括不存在的目錄的父目錄
這些方法都是相對常用的,其他還有一些特殊環境使用的方法,當有需要是可以查API
2.遍歷抽象路徑路徑下的文件以及所有子目錄
有兩種方法實現,但是我只實現用遞歸的方法
1 import java.io.File; 2 import java.io.FileNotFoundException; 3 import java.io.IOException; 4 import java.io.RandomAccessFile; 5 import java.util.ArrayList; 6 import java.util.List; 7 8 /** 9 * 主要復習文件創建以及文件價 10 * @author heack 11 * 12 */ 13 public class DirAndFile { 14 15 File or; 16 File[] files; 17 18 List<String> pathName = new ArrayList<String>(); 19 20 // 用於遍歷文件價 21 public void iteratorPath(String dir) { 22 or = new File(dir); 23 files = or.listFiles(); 24 if (files != null) { 25 for (File file : files) { 26 if (file.isFile()) { 27 pathName.add(file.getName()); 28 }else if (file.isDirectory()) { 29 iteratorPath(file.getAbsolutePath()); 30 } 31 } 32 } 33 } 34 35 public static void main(String[] args) { 36 DirAndFile and = new DirAndFile(); 37 and.iteratorPath("E:/"); 38 for (String list : and.pathName) { 39 System.out.println(list); 40 } 41 } 42 }
此隨筆為以后復習使用,也供新入java的同志解惑