java:如何复制子目录中的文件路径

gojuced7  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(186)

我正在做一个学校项目,包括计算许多*.txt文件的词频。我有数千个*.txt文件在一个“主目录”和数千个文件夹中有更多的*.txt文件。我想复制一个文件夹中所有文件的路径 ArrayList 以便将其作为参数传递给将计算单词频率的方法。问题是似乎无法访问子目录中的文件。我当前使用的方法将只保存主目录中文件的路径,而忽略其他路径。如何访问这些文件并将路径保存到 ArrayList ? 这就是我使用的方法。有什么错误吗?

public class CopyPath {

    public static void main(String[] args) {
        ArrayList <String> pathList = new ArrayList <String> ();
        File currentDir = new File("C:\\Users\\crstn\\Documents\\Progetto Gtmbrg\\TxtFiles"); // main directory
        directoryContents(currentDir, pathList);

        for (String l : pathList) {
            System.out.println(l);
        }

    }

    public static void directoryContents(File dir, ArrayList <String> pathList) {
        try {
            File[] files = dir.listFiles();
            for (File file : files) {
                if (file.isDirectory()) {
                    directoryContents(file, pathList);
                    pathList.add(file.getPath());

                } else {
                    pathList.add(file.getPath());               
                }
            }
        } catch (Exception e) { 
            e.printStackTrace();
        }
    }
}

先谢谢你。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题