获取文件夹中所有文件的文件名

2022-08-31 04:32:41

我需要创建一个列表,其中包含文件夹中文件的所有名称。

例如,如果我有:

000.jpg
012.jpg
013.jpg

我想将它们存储在具有作为值的a中。ArrayList[000,012,013]

在Java中做到这一点的最佳方法是什么?

PS:我使用的是 Mac OS X


答案 1

你可以这样做:

File folder = new File("your/path");
File[] listOfFiles = folder.listFiles();

for (int i = 0; i < listOfFiles.length; i++) {
  if (listOfFiles[i].isFile()) {
    System.out.println("File " + listOfFiles[i].getName());
  } else if (listOfFiles[i].isDirectory()) {
    System.out.println("Directory " + listOfFiles[i].getName());
  }
}

您只想获取 JPEG 文件还是所有文件?


答案 2

创建一个 File 对象,将目录路径传递给构造函数。使用 检索目录中每个文件的对象数组,然后调用该方法来获取文件名。listFiles()FilegetName()

List<String> results = new ArrayList<String>();


File[] files = new File("/path/to/the/directory").listFiles();
//If this pathname does not denote a directory, then listFiles() returns null. 

for (File file : files) {
    if (file.isFile()) {
        results.add(file.getName());
    }
}