文件操作(File類)
阿新 • • 發佈:2018-02-03
統計 println get 調用 clas 直接 delete director let
1、java.io.File
File 類只用於表示文件(目錄)的信息(名稱、大小等),不能對文件的內容進行訪問。
下面舉一些 File類 的例子:
遞歸刪除目錄(所有目錄和文件)
public static void delDir(File f) { // 判斷是否是一個目錄, 不是的話跳過, 直接刪除; 如果是一個目錄, 先將其內容清空. if(f.isDirectory()) { // 獲取子文件/目錄 File[] subFiles = f.listFiles();// 遍歷該目錄 for (File subFile : subFiles) { // 遞歸調用刪除該文件: 如果這是一個空目錄或文件, 一次遞歸就可刪除. 如果這是一個非空目錄, 多次 // 遞歸清空其內容後再刪除 delDir(subFile); } } // 刪除空目錄或文件 f.delete(); }
統計 ".java " 結尾的文件數
public static int count = 0;public static int countJava(File f) { File files[] = f.listFiles(); System.out.println(f.getName()); for(File file:files) { if(file.isFile()) { if(file.getName().endsWith(".java")) {//統計以.java結尾的文件 count++; System.out.println("統計:"+file.getName()); } } if(file.isDirectory()) { countJava(file); } } return count; }
2、FileFilter接口(抽象路徑名的過濾器)
此接口的實例可傳遞給File類的 listFiles(FileFilter)方法。用於返回滿足該過濾器要求的子項。
File dir = new File("/home/soft01/demo");//文件路徑 File[]files = dir.listFiles(new FileFilter() { public boolean accept(File file) { return file.getName().endsWith(".java"); //返回以“.java”結尾的文件 } }); for(File file:files) { System.out.println(file.getName());//列出所有文件 }
文件操作(File類)