如何在Java代码中扫描整个文件夹,然后将每个文本文件读入单独的数组?我正在尝试做的是在地图应用程序上有一组LocationNodes(我创建的类),我正在为我的大学校园/侧面项目创建我的简历。
当代码初始化时,我希望我的应用程序扫描我的“LocationTextFiles”文件夹中的所有文本文件。每个文本文件有3组文本:第0行(位置名称),第1行(建筑物打开的小时数)和第2行-EOF(位置描述)。然后我会将这些行每次都粘贴在一个新的LocationNode对象中,然后创建一个新的LocationNode对象来重复该过程,直到找到所有找到的文件。
这样做的最佳方法是什么?我使用它的属性(name,hoursText和descriptionText)设置了类,所以我假设我要创建的这个函数需要是这个相同LocationNode类的公共方法吗?
答案 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大小。