File類用於文件\文件夾的各種操作:創建、刪除、修改名稱、查看各種信息、各種判斷等
File 能新建、刪除、重命名文件和目錄,但 File 不能訪問文件內容本身。 如果需要訪問文件內容本身,則需要使用輸入/輸出流。
File類的三個構造方法:
- public File(String pathname)
- public File(String parent,String child)
- public File(File parent,String child)
File類的常用方法:
只針對文件/文件夾,如果涉及到文件內容的修改或讀寫,需要用到IO流。
- getAbsolutePath():獲取絕對路徑;
- getAbsoluteFile():獲取絕對路徑;
- getPath():獲取相對路徑;
- getName():獲取文件名;
- getParent():獲取上一級路徑;
- length():獲取文件大小;
- lastModified():獲取文件最後的修改日期;
- list():獲取指定目錄下所有文件/文件夾的名稱數組
- listFiles():獲取指定目錄下所有文件/文件夾的File數組
- a.renameTo(b):a必須存在,b不許存在,可以起到移動文件/文件夾的作用
- isFile():是否是文件;
- isDirectory():是否是文件夾;
- canRead():是否可讀;
- canWrite():是否可寫;
- isHidden():是否隱藏;
- exists():是否存在;
- createNewFile():創建新文件,如果存在,不創建,返回false;
- delete():刪除文件/空文件夾;
- mkdirs():創建文件夾,上層沒有一併創建;
- mkdir():創建文件夾,上層沒有也不創建;
例:
判斷指定目錄下是否有後綴名爲.exe的文件,如果有,就輸出該文件名稱
package cn.jingpengchong.file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\baidu\\Baidu");
select(file);
}
public static void select(File file){
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory()){
select(files[i]);
}else{
if(files[i].getName().endsWith(".exe")){
System.out.println(files[i].getName());
}
}
}
}
}
運行結果如下: