java - 获取目录和子目录中所有txt文件的列表并将其添加到List中

标签 java recursion arraylist

尝试获取目录/子目录中所有文本文件的列表并将其添加到列表中

结构:

sampleDirFolder->testDirFolder->test.txt,test1.txt

代码:

import java.io.File;
import java.io.IOException;
import java.util.*;

public class testClass {

//Method to read dir/sub-dir and get list of .java files
public static List<String> listFiles(String path)

{
    File folder = new File(path);
    File[] files = folder.listFiles();
    for (File file : files)
    { if (file.isFile() && file.getName().endsWith(".txt"))
    {
        System.out.println(file.getName());
    }
    else if (file.isDirectory())
    {
        listFiles(file.getAbsolutePath());
    }
    }
    return listOfFiles;
}

public static void main(String [] args) throws IOException {
    listFiles("path/Desktop/sampledir");
}
}

操作:

test.txt
test1.txt

此代码适用于打印文件列表,有关如何将其添加到 List<String> 的任何建议

最佳答案

试试这个:

import java.io.File;
import java.io.IOException;
import java.util.*;

public class testClass {

//Method to read dir/sub-dir and get list of .java files
public static void listFiles(String path, List<String> filesList)

{
    File folder = new File(path);
    File[] files = folder.listFiles();
    for (File file : files)
    { if (file.isFile() && file.getName().endsWith(".txt"))
    {
        //System.out.println(file.getName());
        filesList.add(file.getName());
    }
    else if (file.isDirectory())
    {
        listFiles(file.getAbsolutePath(), filesList);
    }
    }
    //return listOfFiles;
}

public static void main(String [] args) throws IOException {
    List<String> filesList = new ArrayList<>();
    listFiles("path/Desktop/sampledir", filesList);
    System.out.println(filesList);
}
}

关于java - 获取目录和子目录中所有txt文件的列表并将其添加到List中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60650841/

相关文章:

java - 在一维数组中搜索

java - 类范围变量可见性

java - 从 Java 程序到 Python 程序的自定义输入

java - 如何将两个映射合并为一个并保留重复值

java - 启动/停止应用程序 Apache tomcat 服务器时出错

c# - Python 与 C# 中的递归行为 - 奇怪的结果

Python递归将元组列表排序为树结构

php - 如何删除parent_id=>id结构中的树

java - 堆栈溢出错误 : LinkedList & ArrayList deserialization

java - 通过 ArrayList 的反向迭代给出 IndexOutOfBoundsException