java - 扫描具有未指定文件名的非 txt 文件

标签 java

我想制作一个工具来完成以下两件事::

  • 打开不是 .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/

相关文章:

java - 局部变量的值没有被使用?不应该是这样吗?

java - ClassNotFoundException 在 eclipse 构建路径中使用另一个 jar 文件时(minecraft 插件)

java - 使用 ASM Java 库拆箱

java - 无法让瓷砖与 spring mvc 3 一起使用

JavaFX 2.2 与 native bundle (exe)的问题

java - ArrayList .contains() 不起作用

java - 使用 HQL 从(选择...)中选择

java - Arraylist 不断抛出 IndexOutOfBounds

java - Wildfly 8 + Jersey war 文件部署问题

java - 在没有 lib 文件夹的单个 .JAR 上创建