【问题标题】:Reading all text files in a directory in Java?读取Java目录中的所有文本文件?
【发布时间】:2015-07-08 11:34:01
【问题描述】:

如何扫描我的 Java 代码中的整个文件夹,然后将每个文本文件读入一个单独的数组?我正在尝试做的是在我为我的大学校园/副项目为我的简历创建的地图应用程序上拥有一组 LocationNodes(我创建的类)。

当代码初始化时,我希望我的应用程序扫描“LocationTextFiles”文件夹中的所有文本文件。每个文本文件有 3 组文本:第 0 行(位置名称)、第 1 行(建筑物开放时间)和第 2-EOF 行(位置描述)。然后,我每次都会将这些行粘贴到一个新的 LocationNode 对象中,然后创建一个新的 LocationNode 对象以重复该过程,直到找到的所有文件都已被读取。

执行此操作的最佳方法是什么?我已经用它的属性(名称、小时文本和描述文本)设置了这个类,所以我假设我要创建的这个函数需要是同一个 LocationNode 类的公共方法?

【问题讨论】:

    标签: java android arrays mobile file-io


    【解决方案1】:

    给你,

    File folder = new File("/path/to/files");
    File[] listOfFiles = folder.listFiles();
    
    for (int i = 0; i < listOfFiles.length; i++) {
      File file = listOfFiles[i];
      if (file.isFile() && file.getName().endsWith(".txt")) {
    String content = FileUtils.readFileToString(file);
        /* do somthing with content */
      } 
    }
    

    您可以使用数组代替content。但我建议不要这样做,如果您有大量文件或每个文件都很大。当我巨大时,我的意思是大小超过了 RAM 大小。

    【讨论】:

    • 谢谢!我会试试这个。我正在使用的文件的文本非常少,因此数组可能会起作用。最多 20 行文本。
    • 我收到一条错误消息,提示编译器找不到符号,它指向“FileUtils”并指向箭头?
    • 您需要添加外部jar。更多详情请见stackoverflow.com/questions/13166350/using-fileutils-in-eclipse
    • 所以我已经安装了 apache commons,但是我一直收到异常错误,即使我写了“throws ioexception”?有什么建议吗?
    • 不用安装,添加jar即可。你的代码现在抛出了什么异常/错误?
    猜你喜欢
    • 1970-01-01
    • 2013-12-02
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 2013-02-28
    相关资源
    最近更新 更多