Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        4年前关闭。
                    
                
        

我需要阅读大文件的内容。为此,我在Google上进行了搜索,发现了很多方法和资源。但是我仍然感到困惑,这是读取大文件的方法(在我的情况下,需要考虑的因素是内存分配,性能,大文件)


使用FileChannel
使用Files.readAllLines
使用BufferedReader


有人可以指导吗?

最佳答案

最好的选择是延迟读取文件。一次并一次获取每一行。

例:-

Stream<String> lines = Files.lines(Paths.get("C:/files", "yourfile.txt"));


然后处理行余言。

official文档:-

public static Stream<String> lines(Path path, Charset cs) throws IOException



  从文件中读取所有行作为流。与readAllLines不同,这
  方法不会将所有行读入列表,而是填充
  随着流的消耗而懒惰。

09-10 05:41
查看更多