當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java File listFiles()用法及代碼示例


listFiles()方法是File類的一部分。如果路徑名是目錄,則該函數返回一個File數組,表示給定抽象路徑名中的文件,否則返回null。該函數是重載函數。其中一個函數沒有任何參數,第二個函數將FilenameFilter對象作為參數,第三個函數將FileFilter對象作為參數

函數簽名:

public File[] listFiles()
public File[] listFiles(FilenameFilter f)
public File[] listFiles(FileFilter f)

函數語法:


file.listFiles()
file.listFiles(filter)

參數:該函數是重載函數

  • 該函數之一沒有任何參數,
  • 第二個函數將FilenameFilter對象作為參數,
  • 第三個函數將FileFilter對象作為參數

返回值:該函數返回一個File數組,如果文件對象是一個文件,則返回null值。

異常:如果不允許該函數對該文件進行讀取訪問,則此方法將引發Security Exception

下麵的程序將說明listFiles()函數的用法

範例1:我們將嘗試查找給定目錄中的所有文件和目錄

// Java program to demonstrate the 
// use of listFiles() function 
  
import java.io.*; 
  
public class solution { 
    public static void main(String args[]) 
    { 
  
        // try-catch block to handle exceptions 
        try { 
  
            // Create a file object 
            File f = new File("f:\\program"); 
  
            // Get all the names of the files present 
            // in the given directory 
            File[] files = f.listFiles(); 
  
            System.out.println("Files are:"); 
  
            // Display the names of the files 
            for (int i = 0; i < files.length; i++) { 
                System.out.println(files[i].getName()); 
            } 
        } 
        catch (Exception e) { 
            System.err.println(e.getMessage()); 
        } 
    } 
}

輸出:

Files are:
1232.txt
1245.txt
5671.txt
program1

範例2:我們將嘗試在給定目錄中查找名稱以“12”開頭的所有文件和目錄。

// Java program to demonstrate the 
// use of listFiles() function 
  
import java.io.*; 
  
public class solution { 
    public static void main(String args[]) 
    { 
  
        // try-catch block to handle exceptions 
        try { 
  
            // Create a file object 
            File f = new File("f:\\program"); 
  
            // Create a FilenameFilter 
            FilenameFilter filter = new FilenameFilter() { 
  
                public boolean accept(File f, String name) 
                { 
                    return name.startsWith("12"); 
                } 
            }; 
  
            // Get all the names of the files present 
            // in the given directory 
            // and whose names start with "12" 
            File[] files = f.listFiles(filter); 
  
            System.out.println("Files are:"); 
  
            // Display the names of the files 
            for (int i = 0; i < files.length; i++) { 
                System.out.println(files[i].getName()); 
            } 
        } 
        catch (Exception e) { 
            System.err.println(e.getMessage()); 
        } 
    } 
}

輸出:

Files are:
1232.txt
1245.txt

範例3:我們將嘗試查找給定目錄中的所有文件和目錄,它們都是文本文件

// Java program to demonstrate the 
// use of listFiles() function 
  
import java.io.*; 
  
public class solution { 
    public static void main(String args[]) 
    { 
  
        // try-catch block to handle exceptions 
        try { 
  
            // Create a file object 
            File f = new File("f:\\program"); 
  
            // Create a FileFilter 
            FileFilter filter = new FileFilter() { 
  
                public boolean accept(File f) 
                { 
                    return f.getName().endsWith("txt"); 
                } 
            }; 
  
            // Get all the names of the files present 
            // in the given directory 
            // which are text files 
            File[] files = f.listFiles(filter); 
  
            System.out.println("Files are:"); 
  
            // Display the names of the files 
            for (int i = 0; i < files.length; i++) { 
                System.out.println(files[i].getName()); 
            } 
        } 
        catch (Exception e) { 
            System.err.println(e.getMessage()); 
        } 
    } 
}

輸出:

Files are:
1232.txt
1245.txt
5671.txt

這些程序可能無法在在線IDE中運行。請使用離線IDE並設置文件的父文件



相關用法


注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 File listFiles() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。