以下是文件内容:
line 1
line 2
line 3
line 4
line 5
现在我想以反向顺序字符串读取文件,如下所示
line 5
line 4
line 3
line 2
line 1
我用来逐行读取文件的代码是
try (Stream<String> steam = Files.lines(Paths.get("C:\\..\\..\\taxreport.txt")).skip(1)) {
steam.foreach(i->System.Out.Println(i));
}
catch (IOException ex) {
System.out.println(RED_BOLD + "File not Found !!");
}
代码按正常顺序逐行读取文件。但我想以相反的顺序阅读该行。
任何人都可以让我知道如何以相反的顺序阅读该行。
答案 0 :(得分:2)
这适用于字符串:
steam.collect(Collectors.toCollection(LinkedList::new))
.descendingIterator().forEachRemaining(System.out::println);
这是使用ArrayList
的另一个例子:
List<String> list = steam.collect(Collectors.toCollection(ArrayList::new));
Collections.reverse(list);
list.forEach(System.out::println);