【发布时间】:2016-11-20 06:40:08
【问题描述】:
我在目录中有一个文件夹。我知道,总是只有一个文件,它是一个 .txt 文件。但我不知道文件名。 如何在 Java 中访问它?路径应该是怎样的?
【问题讨论】:
-
File#listFiles()
我在目录中有一个文件夹。我知道,总是只有一个文件,它是一个 .txt 文件。但我不知道文件名。 如何在 Java 中访问它?路径应该是怎样的?
【问题讨论】:
File#listFiles()
您可以打开目录并查看其内容,直到找到该文件:
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;
}
编辑:
根据下面的 cmets,如果可以安全地假设目录中始终有一个文件,并且目录中没有其他内容(例如子目录),则可以大大简化此代码:
public static File getTextFileInDirectory(String dirPath) {
return new File(dirPath).listFiles()[0];
}
【讨论】:
由于您知道目录中只有一个文件,因此您可以获取目录文件的数组,如果存在则返回第一个元素,如果不存在则返回 null。
public static File getFileFromDir(File directory) {
File[] dirFiles = directory.listFiles();
return dirFiles.length > 0 ? dirFiles[0] : null;
}
【讨论】: