通过目录及其子目录中的所有文件搜索存储在arraylist中的值

时间:2013-08-01 09:44:35

标签: java arraylist

我在java中创建一个程序,它在目录中的所有文件中搜索一个单词并列出它们。我尝试过使用findWithinhorizo​​n函数,但它似乎只检查一个单词而不能接受一个arraylist作为参数。 这是我想要做的: 有一个数组列表包含值(word1,word2,word3,word4)。我想在我指定的目录及其子目录中搜索这些单词的所有文件,并列出所有文件名以及包含这些单词的路径。

示例:它从数组列表中获取第一个值,即word1在我指定的目录(及其子目录)中查找包含word1的文件,并列出所有文件。然后它从数组列表word2中获取第二个单词在目录中搜索并列出所有文件,依此类推。

任何帮助表示赞赏。 感谢。

1 个答案:

答案 0 :(得分:0)

列出目录中的所有文件。

`public void listFilesAndFilesSubDirectories(String directoryName){

    File directory = new File(directoryName);

    //get all the files from a directory
    File[] fList = directory.listFiles();

    for (File file : fList){
        if (file.isFile()){
            System.out.println(file.getAbsolutePath());
        } else if (file.isDirectory()){
            listFilesAndFilesSubDirectories(file.getAbsolutePath());
        }
    }
}`

现在遍历读取每个文件的文件列表。现在迭代包含单词的列表,检查每个单词。如果找到该单词,请将文件名添加到另一个列表中。

请参阅在外循环中迭代文件和文件循环中的单词。