如何在Java中列出目录中的所有文件?

Java 提供了通过 java.io.file 包与文件系统交互的功能 。此功能可帮助开发人员自动操作文件和目录。

在本文中,我们将学习如何在 Java 中列出目录中的所有文件。

列出目录中所有文件的方法

我们有两种方法可以获取 Java 目录中所有文件的列表。

  • 使用 listFiles()
  • 使用 Java 新 I/O 包

在 Java 中列出目录中所有文件的程序

方法 1:使用 listFiles()

在 java.io.File 类中,该类提供了一个内置方法 listFiles(),该方法将返回 目录中文件的 File 对象数组。

  • 爪哇岛

// Java program list all files in a directory using listFiles()
import java.io.File;
public class ListFilesExample 
{
  
    public static void main(String[] args)
    {
      // Path of the specific directory 
      String directoryPath = "C:/Users/GFG0354/Documents/JavaCode";
        
      // Using File class create an object for specific directory
      File directory = new File(directoryPath);
        
      // Using listFiles method we get all the files of a directory 
      // return type of listFiles is array
      File[] files = directory.listFiles();
        
      // Print name of the all files present in that path
      if (files != null) {
        for (File file : files) {
          System.out.println(file.getName());
        }
      }
    }
}
输出:

控制台输出1

程序说明:
  • 在上面的程序中,我们在 directoryPath 变量中指定了目录的路径。
  • 我们创建了一个名为 directory 的 File 对象,表示指定的目录路径。
  • 我们使用 File 类的 listFiles() 方法来检索 File 对象数组,这些对象表示指定目录中包含的文件和目录。
  • 我们遍历 File 对象数组,并使用 getName() 方法打印每个文件的名称。

方法 2:使用 Java 新 I/O 包

新的 I/O 提供了一种新的简单方法来与文件交互和应用文件操作。Files 和 Path 类在 java.nio.file 包中可用,我们可以使用它来列出目录中的文件。

  • 爪哇岛

// Java program to list all files in a directory using I/O Package
import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.FileVisitOption;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.EnumSet;
  
public class NewIOExample {
  
    public static void main(String[] args) throws IOException
    {
  
        // path of the specific directory 
        String directoryPath = "C:/Users/GFG0354/Documents/JavaCode";
  
        // create a Path object for the specified directory
        Path directory = Paths.get(directoryPath);
  
        // use DirectoryStream to list files which are present in specific
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(directory)) {
            
          //with forEach loop get all the path of files present in directory  
            for (Path file : stream) {
                System.out.println(file.getFileName());
            }
        }
    }
}
输出:

控制台输出2

程序说明:
  • 在上面的程序中,我们在 directoryPath 变量中指定了目录的路径。
  • 我们使用 Paths.get() 方法创建了 一个名为表示指定目录路径的 Path 对象。directory
  • 我们使用 Files.newDirectoryStream() 方法 为指定目录创建 DirectoryStream
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值