В первом примере вы читаете каждую строку с bufferedReader.readLine()
, что уже дает вам строку. Затем вы разделяете строку на символ ,
, который дает вам столбцы для текущей строки.
Ваш пример секунд с использованием bufferedReader.lines()
возвращает поток строк, который вы собираете с помощью .collect(Collectors.toList())
. Каждая из этих строк в вашем списке все еще содержит строку со всеми запятыми. Так что вам, вероятно, понадобится 2D-массив или List<List<String>>
.
. Вы можете добиться этого следующим образом:
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
final List<List<String>> table = br.lines()
.map(row -> Stream.of(row.split(","))
.collect(Collectors.toList()))
.collect(Collectors.toList());
System.out.println(table.get(0));
} catch (IOException e) {
e.printStackTrace();
}