How can I put all the elements I read from a text file into an ArrayList < MonitoredData >
using streams, where monitoredData class has these 3 private variables: private Date startingTime, Date finishTime, String activityLabel
;
The text File Activities.txt looks like this:
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
and so on....
The first 2 strings are separated by one blank space, then 2 tabs, one space again, 2 tabs.
String fileName = "D:/Tema 5/Activities.txt";
try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
list = (ArrayList<String>) stream
.map(w -> w.split("")).flatMap(Arrays::stream)
.collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…