1.File類:表示文件和目錄路徑名的抽象表示形式
(1)構造方法
File(String pathname):根據一個路徑得到File對象。
File(String parent, String child):根據一個目錄和一個子文件/目錄得到File對象
File(File parent, File child):根據一個父File文件和一個子File文件/目錄得到File對象
(2)功能方法
A:創建功能:
public boolean createNewFile():創建文件,如果存在該文件,則不創建並且返回false,如果創建成功返回true;如果父目錄不存在,則創建失敗返回false。
public boolean mkdir():創建文件夾,如果存在該文件夾,則不創建並且返回false,如果創建成功返回true;如果父目錄不存在,則創建失敗返回false。
public boolean mkdirs(): 創建文件夾,如果存在該文件夾,則不創建並且返回false,如果創建成功返回true;如果父目錄不存在,則直接創建父目錄返回true。
注意:如果你創建文件或者文件夾時沒有加路徑,那麼此時就是默認路徑,默認在當前項目文件夾下。
B:刪除功能
public boolean delete():刪除一個文件或者文件夾,如果該文件夾下面有文件或者文件夾,則刪除失敗,返回false,刪除成功返回true。
C:重命名功能
public boolean renameTo(File dest):如果參數File對象的路徑和該File對象路徑一樣,則是改名,如果路徑不同,則是改名+剪貼。
D:判斷功能
public boolean isDirectory():判斷是否爲目錄
public boolean isFile():判斷是否爲文件
public boolean exists():判斷是否存在
public boolean canRead():判斷是否可讀
public boolean canWrite():判斷是否可寫
public boolean isHidden():判斷是否隱藏
E:獲取功能
public boolean getAbsolutePath():獲取絕對路徑
public boolean getPath():獲取相對路徑
public boolean getName():獲取名稱
public long length():獲取文件長度
public long lastModified():獲取最後一次修改時間,毫秒值
高級獲取功能
public String[] list():獲取指定目錄下所有文件或者文件夾的名稱數組
public File[] listFiles():獲取指定目錄下所有文件或者文件夾的File數組
F:文件過濾器
public String[] list(FilenameFilter filter):獲取指定目錄下指定的文件的名稱
public File[] listFiles(FilenameFilter filter):獲取指定目錄下指定的文件。
其中,FilenameFilter 是一個接口,因此可以知道filter肯定是FilenameFilter的一個實現類對象。
具體用法如下:
//判斷H盤下是否有JPG文件,有的話輸出
/*
* 1 封裝H盤
* 2 獲取目錄下所有File數組
* 3 判斷是否是文件
* 是:是否名字是以.JPG結尾
* 是:獲取名字輸出
* 否:無
* 否:無
*/
File file_H = new File("H:\\") ;
File [] files = file_H.listFiles() ;
//循環判斷
for (File file : files) {
if (file.getName().endsWith(".JPG")) { //字符串中的方法 endsWith("XX"):判斷是否以XX爲結尾
System.out.println(file.getName());
}
}
/*優化:文件過濾器改進
*
* 1.封裝H盤
* 2。判斷是否有以。JPG結尾的文件
* 是:獲取輸出
* 否:無
*/
File file = new File("H:\\") ;
String[] strFile = file.list(new FilenameFilter() {
public boolean accept(File arg0, String arg1) {
// 只有這邊判斷爲真的時候文件名纔會放進list中
//System.out.println(arg0+"---"+arg1); //輸出H:\---迅雷下載 ,可見arg0是文件路徑,arg1是文件名
return arg0.isFile() && arg1.endsWith(".JPG");
}
});
for (String string : strFile) {
System.out.println(string);
}