1. 程式人生 > >文件操作(File類)

文件操作(File類)

統計 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類)