文章目錄
- 基本概念
- File類的靜态成員變量
- 檔案的絕對路徑和相對路徑
- File類的構造方法
- File類的常用方法
- 擷取功能的方法
- 判斷功能的方法
- 建立及删除功能的方法
- 檔案夾周遊功能
- list()方法
- listFile()方法
基本概念
java.io.File類是檔案和目錄路徑名的抽象表示,主要用于檔案和目錄的建立、查找和删除等操作。File類是一個與作業系統無關的類,任何的作業系統都可以使用這個類中的成員方法。
我們可以使用File類:
- 建立檔案/檔案夾
- 删除檔案/檔案夾
- 擷取檔案/檔案夾
- 判斷檔案/檔案夾是否存在
- 對檔案夾進行周遊
- 擷取檔案的大小
File類的靜态成員變量
- File.pathSeparator :路徑分隔符,windows用分号表示,linux用冒号表示。
- File.separator:檔案名稱分隔符,windows用反斜杠表示,linux用正斜杠表示。
檔案的絕對路徑和相對路徑
- 絕對路徑:是一個完整的路徑,以盤符(C:,D:)開始的路徑,比如c:\txt\aaa.txt。
- 相對路徑:是一個簡化的路徑,相對指的是相當于目前檔案的根目錄,比如根目錄為c:\txt,那麼相對路徑為aaa.txt
File類的構造方法
- public File(String pathname):參數String pathname代表路徑名稱
- public File(Stirng parent,Sting child):參數String parent代表父路徑名稱,參數String child代表子路徑名稱
- public File(File parent, String child):參數File parent代表父路徑的檔案對象,參數String child代表子路徑名稱
//構造方法File(String pathname)
File file1 = new File("c:\\txt\\aaa.txt");
File file2 = new File("bbb.txt");
//構造方法File(String parent,String child)
File file3 = new File("c:\\txt\\","aaa.txt");
//構造方法public File(File parent, String child)
File parentFile = new File("c:\\txt\\");
File file4= new File(parentFile,"aaa.txt");
File類的常用方法
擷取功能的方法
//getAbsolutePath 擷取檔案的絕對路徑
File file5 = new File("c:\\txt\\aaa.txt");
System.out.println(file5.getAbsolutePath());
//getPath 擷取檔案構造方法的傳遞的路徑名稱
File file6 = new File("aaa.txt");
System.out.println(file6.getPath());
//getName 擷取檔案構造方法的傳遞的路徑中的結尾部分,可能是檔案名,可能是檔案夾名
System.out.println(file5.getName());
File file7 = new File("c:\\txt");
System.out.println(file7.getName());
//length 傳回檔案的大小
System.out.println(file5.length());
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SNwkTN5EmZ5kjM3E2NyYGMzYzX1MTOxcTMxMzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
判斷功能的方法
//exists 判斷檔案或檔案夾是否存在
File file8 = new File("c:\\txt\\aaa.txt");
System.out.println(file8.exists());
File file9 = new File("c:\\txt\\bbb.txt");
System.out.println(file9.exists());
//isFile 是否為檔案
System.out.println(file8.isFile());
//isDirectory是否為檔案夾
System.out.println(file8.isDirectory());
建立及删除功能的方法
//createNewFile 當且僅當具有該名稱的檔案尚不存在時,建立一個新空檔案
File file11 = new File("c:\\txt\\bbb.txt");
System.out.println(file11.createNewFile());
//delete 删除檔案
System.out.println(file11.delete());
//mkdir 建立單級空檔案夾
File file12 = new File("c:\\txt\\1");
System.out.println(file12.mkdir());
//mkdirs 建立單級或多級空檔案夾
File file13 = new File("c:\\txt\\2\\3");
System.out.println(file13.mkdirs());
//delete 删除檔案夾
System.out.println(file12.delete());
System.out.println(file13.delete());
注意:delete方法在硬碟直接删除檔案或檔案夾,需謹慎使用。
檔案夾周遊功能
list()方法
//list方法 ,傳回一個字元串數組,表示該File對象的檔案夾下的所有檔案或子目錄
File file14= new File("c:\\txt");
String[] files = file14.list();
for(String file : files){
System.out.println(file);
}
listFile()方法
//listFiles方法 ,傳回一個File數組,表示該File對象的檔案夾下的所有檔案或子目錄
File file15= new File("c:\\txt");
File[] listFiles = file15.listFiles();
for(File file : listFiles){
System.out.println(file);
}