欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

软件构造——guava的按行读大文件

程序员文章站 2024-02-09 16:02:34
...

简单来说,guava是由一众谷歌鬼才改进的jdk,在效率和简便上有很大提升,一直以来不为计院幼年程序员所知。本文提供一种guava按行读大文件的方法,可用于软件构造实验中。

 Files.asCharSource(new File(path, "文件名"), Charset.defaultCharset())
                .readLines(new LineProcessor<String>() {
                    public boolean processLine(String line) throws IOException {
                    
                        //这里处理一行字符串
                        //传入的line为文件中的一行
						//此处进行实验中对每行的操作

                        return true;//如果是false,则会中断读取操作,可以替代自定义异常来终止读文件
                    }
 
 
 					//这个方法的内容可以不写
                    public String getResult() {
                        return null;
                    }
                });

其中:

  • asCharSource(new File(path, “文件名”)也可写为 asCharSource(new File(“路径+文件名”)
  • 本方法较为适用远大于软件构造实验中的文件,在实验5中耗时在stream和scanner之间
  • public String getResult()不能省略
  • 对于第一次使用guava的同学,注意guava的文件操作都是Files不是File