我试图逐行读取文件,同时解析该行并将数据存储在MonitoredData列表中。
MonitoredData具有实例变量:startTime,endTime,activityLabel。
该文件如下所示:
2011-11-28 02:27:59 2011-11-28 10:18:11 Sleeping
2011-11-28 10:21:24 2011-11-28 10:23:36 Toileting
2011-11-28 10:25:44 2011-11-28 10:33:00 Showering
2011-11-28 10:34:23 2011-11-28 10:43:00 Breakfast
2011-11-28 10:49:48 2011-11-28 10:51:13 Grooming
2011-11-28 10:51:41 2011-11-28 13:05:07 Spare_Time/TV
我想读取此文件并将每个startTime,endTime,activityLabel存储在MonitoredData列表中
List<MonitoredData>
例如:
startTime : 2011-11-28 02:27:59
endTime : 2011-11-28 10:18:11
activityLabel: Sleeping
答案 0 :(得分:2)
应该看起来像这样。首先获取这些行,然后将它们分割为"\\s\\s+"
(至少两个空格),然后生成一个标记数组。
对于每个数组实例,生成MonitoredData
并将该数据收集到List
。
Files.lines(Paths.get("/tmp/test.txt"))
.map(s -> s.split("\\s\\s+"))
.map(arr -> new MonitoredData(arr[0], arr[1], arr[2]))
.collect(Collectors.toList());
显然,您需要从arr[0]
和arr[1]
转换为您正在使用的Date
。