guava LineProcessor

public class Test {

    @org.junit.Test
    public void lineProcessTest() throws IOException {
        File file = new File(Test.class.getResource("/a.txt").getFile());
       ArrayList<String> list = (ArrayList<String>) Files.readLines(file,Charsets.UTF_8,new LineProcessor<Object>() {

           ArrayList<String> list = Lists.newArrayList();

           @Override
           public boolean processLine(String line) throws IOException {
               if (line.contains("haha")) {

               } else {
                   list.add(line);
               }
               return true;
           }

           @Override
           public Object getResult() {
               return list;
           }
       });

        for (String s : list) {
            System.out.println(s);
        }

    }
}

LineProcessor类中processLine的返回值为true时,继续处理下一行,否则停止处理:

public interface LineProcessor<T> {

  /**
   * This method will be called once for each line.
   *
   * @param line the line read from the input, without delimiter
   * @return true to continue processing, false to stop
   */
  boolean processLine(String line) throws IOException;

  /** Return the result of processing all the lines. */
  T getResult();
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值