访问文件没有文件名

时间:2016-07-17 16:31:48

标签: java file directory

我在目录中有一个文件夹。我知道,总有一个文件,它是一个.txt文件。但我不知道文件名。 如何在Java中访问它?路径怎么样?

2 个答案:

答案 0 :(得分:1)

您可以打开目录并查看其内容,直到找到文件:

public static File getTextFileInDirectory(String dirPath) {
    File dir = new File(dirPath);
    for (File f : dir.listFiles()) {
        if (f.isFile() && f.getName().endsWith(".txt")) {
            return f;
        }
    }
    return null;
}

编辑:
根据下面的评论,如果可以安全地假设目录中始终有一个文件,并且目录中没有其他内容(例如,子目录),则可以大大简化此代码:

public static File getTextFileInDirectory(String dirPath) {
    return new File(dirPath).listFiles()[0];
}

答案 1 :(得分:1)

由于您知道目录中只有一个文件,您可以获取目录文件的数组并返回第一个元素(如果存在),如果不存在,则返回null。

public static File getFileFromDir(File directory) {
    File[] dirFiles = directory.listFiles();
    return dirFiles.length > 0 ? dirFiles[0] : null;
}