Split stream and put into list from text file

Viewed 1318

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("\t\t")).flatMap(Arrays::stream) 
                .collect(Collectors.toList());

    } catch (IOException e) {

        e.printStackTrace();
    }
1 Answers
Related