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
广告