Java - 在目录中搜索文件

标签 java file search directory

这应该很简单,但我无法理解 - “编写一个程序,在给定目录中搜​​索特定文件名。”我找到了几个硬编码文件名和目录的示例,但我需要用户输入的目录和文件名。

public static void main(String[] args) {
    String fileName = args[0]; // For the filename declaration
    String directory;     
    boolean found;

    File dir = new File(directory);

    File[] matchingFiles = dir.listFiles(new FilenameFilter() {
        public boolean accept(File dir, String fileName) {
            return true;
        }
    });

}

最佳答案

你可以试试这样的:

import java.io.*;
import java.util.*;
class FindFile 
{
    public void findFile(String name,File file)
    {
        File[] list = file.listFiles();
        if(list!=null)
        for (File fil : list)
        {
            if (fil.isDirectory())
            {
                findFile(name,fil);
            }
            else if (name.equalsIgnoreCase(fil.getName()))
            {
                System.out.println(fil.getParentFile());
            }
        }
    }
    public static void main(String[] args) 
    {
        FindFile ff = new FindFile();
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter the file to be searched.. " );
        String name = scan.next();
        System.out.println("Enter the directory where to search ");
        String directory = scan.next();
        ff.findFile(name,new File(directory));
    }
}

这是输出:

J:\Java\misc\load>java FindFile
Enter the file to be searched..
FindFile.java
Enter the directory where to search
j:\java\
FindFile.java Found in->j:\java\misc\load

关于Java - 在目录中搜索文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15624226/

相关文章:

c# - ASP :NET MVC multiple words in search

c# - 在 C# 中标记前后插入文本的最佳算法?

Java代码检查两个数组是否相似

java - 在 Play Framework 中将字符串转换为 Html

java - 如何将hadoop文件导入intelliJ?

file - 在 Debug模式下加载未压缩的js文件

c - 尝试删除空格时 C 代码出错

java - 在PreparedStatement中使用 "DEFAULT"值

javascript - 浏览器如何加载库中的文件?

在 JavaMail 中搜索 - 如何使其在服务器端发生?