Java基礎學習筆記
File 的高級獲取功能
String[] list()
返回一個字符串數組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄
示例
import java.io.File; class FileDemo9 { public static void main(String[] args) { //獲取E:下所有目錄或者文件名稱 File file=new File("E:\\");//1、構建文件對象 String[] fileNames=file.list();//2、獲取E:下所有子目錄或者子文件的名稱 for (String filename : fileNames) {//3、遍歷打印輸出 System.out.println(filename); } } } |
運行結果(以實際盤中的文件為準)
File[] listFiles()
返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
示例
import java.io.File; class FileDemo10{ public static void main(String[] args) { File file=new File("E:\\"); File[] files= file.listFiles();//獲取這個目錄下的子目錄或者是子文件 for (File file2 : files) { //遍歷 if (file2.isFile()) {//判斷是否是文件 if (file2.getName().endsWith(".txt")) { //判斷是否是.txt文件 System.out.println(file2); } } } } } |
運行結果
FileFilter接口 過濾器 boolean accept(Filepathname) 確定過濾規則
示例
import java.io.File; import java.io.FileFilter; class FileDemo11{ public static void main(String[] args) { File file=new File("E:\\"); //根據過濾器獲取這個目錄下的子目錄或者是子文件 File[] files= file.listFiles(new MyFilter()); for (File file2 : files) {//遍歷files數組 System.out.println(file2); } } } //自定義過濾器類 class MyFilter implements FileFilter { @Override public boolean accept(File file) { if (file.isFile()) {//查找後綴為.txt的文件,找到返回true,否則為false if (file.getName().endsWith(".txt")) { return true; } } return false; } } |
運行結果
Java基礎學習筆記續集
Java基礎學習筆記