【问题标题】:searching for values stored in an arraylist through all the files within a directory and its sub directories通过目录及其子目录中的所有文件搜索存储在数组列表中的值
【发布时间】:2013-08-01 09:44:34
【问题描述】:

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

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

感谢任何帮助。 谢谢。

【问题讨论】:

  • 你能告诉我们你已经拥有什么(代码)吗?
  • 您要搜索文件内容中的单词还是只搜索文件名中的单词?

标签: java arraylist


【解决方案1】:

列出目录中的所有文件。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多