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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告