Java 中 list() 和 listFiles() 方法的區別
名為 File 的 java.io 包中的類表示系統中的檔案或目錄(路徑名)。要獲取目錄中所有現有檔案的列表,此類提供了 list() 和 listFiles() 方法。
它們之間的主要區別在於
list() 方法以字串陣列的形式返回給定目錄中所有檔案的檔名。
listFiles() 方法以 File 型別陣列的形式返回給定目錄中檔案的物件 (File)。
即,如果您只需要特定目錄中檔案的名稱,則可以使用 list() 方法;如果您需要目錄中檔案的詳細資訊(例如名稱、路徑等),則需要使用 listFiles() 方法,檢索所有檔案物件,並透過呼叫相應的方法獲取所需的詳細資訊。
list() 方法示例
import java.io.File; import java.io.IOException; public class ListOfFiles { public static void main(String args[]) throws IOException { //Creating a File object for directory File path = new File("D:\ExampleDirectory"); //List of all files and directories String contents[] = path.list(); System.out.println("List of files and directories in the specified directory:"); for(int i=0; i < contents.length; i++) { System.out.println(contents[i]); } } }
輸出
List of files and directories in the specified directory: SampleDirectory1 SampleDirectory2 SampleFile1.txt SampleFile2.txt SapmleFile3.txt
listFiles() 方法示例
import java.io.File; import java.io.IOException; public class ListOfFiles { public static void main(String args[]) throws IOException { //Creating a File object for directory File path = new File("D:\ExampleDirectory"); //List of all files and directories File files [] = path.listFiles(); System.out.println("List of files and directories in the specified directory:"); for(File file : files) { System.out.println("File name: "+file.getName()); System.out.println("File path: "+file.getAbsolutePath()); System.out.println(" "); } } }
輸出
List of files and directories in the specified directory: File name: SampleDirectory1 File path: D:\ExampleDirectory\SampleDirectory1 File name: SampleDirectory2 File path: D:\ExampleDirectory\SampleDirectory2 File name: SampleFile1.txt File path: D:\ExampleDirectory\SampleFile1.txt File name: SampleFile2.txt File path: D:\ExampleDirectory\SampleFile2.txt File name: SapmleFile3.txt File path: D:\ExampleDirectory\SapmleFile3.txt
廣告