0

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

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

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

4

1 回答 1

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());
        }
    }
}`

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

请注意您在外部循环中迭代文件并在文件循环中迭代单词。

于 2013-08-01T10:07:20.260 回答