我想制作一个工具来完成以下两件事::
- 打开不是 .txt 但可以作为 .txt 打开的文件,并将它们作为字符串返回。目前它只返回一个空字符串。
- 文件名未知,只有末尾的文件扩展名和前面的 YYYYMMDD 数字始终相同,因此我希望应用程序简单地扫描同一文件夹中的每个文件(不是同一文件两次,明显地)。如何做到这一点?
这就是我到目前为止所得到的。 Java 代码:
public String readFile(String filename) throws FileNotFoundException {
Scanner scanner = null;
File file = new File(filename);
String output = "";
try{
scanner = new Scanner(file);
}catch(FileNotFoundException e){
System.out.println("Error: File " + filename + " not found!");
}
while (scanner.hasNextLine()){
output=output+scanner.nextLine();
}
return output;
}
最佳答案
所以您想为目录中的每个文件调用 readFile(file) 方法。
您可以使用 File.listFiles() 方法获取目录中的文件列表:
File f = new File("your/directory");
File[] files = f.listFiles();
然后你可以遍历文件(继续前面的例子):
for (File file : files) {
System.out.println(readFile(file.toString()));
}
顺便说一句,您应该使用 StringBuilder 来附加字符串,这样您就不必在每次读取新行时都创建一个新对象。
关于java - 扫描具有未指定文件名的非 txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24449562/