我在java中创建一个程序,它在目录中的所有文件中搜索一个单词并列出它们。我尝试过使用findWithinhorizon函数,但它似乎只检查一个单词而不能接受一个arraylist作为参数。 这是我想要做的: 有一个数组列表包含值(word1,word2,word3,word4)。我想在我指定的目录及其子目录中搜索这些单词的所有文件,并列出所有文件名以及包含这些单词的路径。
示例:它从数组列表中获取第一个值,即word1在我指定的目录(及其子目录)中查找包含word1的文件,并列出所有文件。然后它从数组列表word2中获取第二个单词在目录中搜索并列出所有文件,依此类推。
任何帮助表示赞赏。 感谢。
答案 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());
}
}
}`
现在遍历读取每个文件的文件列表。现在迭代包含单词的列表,检查每个单词。如果找到该单词,请将文件名添加到另一个列表中。
请参阅在外循环中迭代文件和文件循环中的单词。