文章目錄
基本概念
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());
判斷功能的方法
//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);
}