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

更新於: 2019-10-15

775 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告