从java中的文件名获取文件路径

时间:2016-03-18 21:33:02

标签: java

从目录中的文件名获取文件路径 我有src / test / resources / datasheets目录。

src/test/resources/datasheets
xyz/a1.txt
abc/b1/txt

它又有很多目录

我需要获取文件路径如果我给出文件名 例如:“a1.txt”我需要得到src/test/resources/datasheets/xyz/a1.txt

提前致谢

2 个答案:

答案 0 :(得分:1)

只需编写一个递归方法来检查所有子目录。我希望这会奏效:

import java.io.File;

public class PathFinder {

    public static void main(String[] args) {
        String path = getPath("a1.txt", "src/test/resources/datasheets");
        System.out.println(path);
    }

    public static String getPath(String fileName, String folder) {
        File directory = new File(folder);

        File[] fileList = directory.listFiles();
        for (File file : fileList) {
            if (file.isFile()) {
                if(fileName.equals(file.getName())) {
                    return file.getAbsolutePath();
                }
            } else if (file.isDirectory()) {
                String path = getPath(fileName, file.getAbsolutePath());
                if(!path.isEmpty()) {
                    return path;
                }
            }
        }

        return "";
    }
}

答案 1 :(得分:0)

如果您参考了[See eval.in],则可以轻松访问此信息。

File myDir = File(String pathname);
if(myDir.isDirectory()) {
    File[] contents = myDir.listFiles(); 
}

查看contents[]的外观并进行必要的修改。