[英]How to read file line by line in Java 8?
在Java 8中,我看到在Files类中添加了名为lines()的新方法,可用于在Java中逐行读取文件。 它适用于大文件吗? 我的意思是我们可以加载前1000行然后第二组1000行。 我有1GB的巨大文件,它会工作吗?
有人可以共享代码片段如何使用它?
它适用于大文件吗? [...]我有1GB的巨大文件,它会工作吗?
据我所知它也应该适用于大文件(但我还没试过):
try(Stream<String> lines = Files.lines(path)){
lines.filter(...).map(...)....foreach(...);
}
我的意思是我们可以加载前1000行然后第二组1000行。
一次读取多少行是Files.lines特有的实现(可能使用BufferedReader,但我可能错了)。
来自API(由我鼓舞)
从文件中读取所有行作为流。 与readAllLines不同,此方法不会将所有行读入List,而是在使用流时延迟填充。
这强烈建议您可以在任意大小的文件上使用它,假设您的代码不包含内存中的所有内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.