读取Java中目录中的所有文本文件?

时间:2015-04-29 09:20:04

标签: java android arrays mobile file-io

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

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

这样做的最佳方法是什么?我使用它的属性(name,hoursText和descriptionText)设置了类,所以我假设我要创建的这个函数需要是这个相同LocationNode类的公共方法吗?

1 个答案:

答案 0 :(得分:2)

你走了,

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大小。