java.io.LineNumberReader类是java.io.BufferedReader类的扩展,它封装了处理行号的额外能力。假设我们有一个简单的解析器,它的规则是:每一行都必须以“#”开头。我们来示范一下LineNumberReader的用法:
  public void parseFile(Readerreader)throws IOException{
  LineNumberReader in = new LineNumberReader(reader);
  Stringline="";
  while((line=in.readLine())!=null){
  if(line.startsWith("#")){
  //处理这一行
  ...
  }else{
  thrownew IOException("第"+in.getLineNumber()+"行丢了#号");
  }
  }
  in.flush();
  in.close();
  }行号0的意味着我们还没开始读入。假如在一个程序中我们每次读入一行,并输出该行和它的行号,行号将从1开始。
  LineNumberReader中有一个setLineNumber(int)方法,但它仅仅是个装饰物。例如把行号设成42并不会转到第42行;它只是简单地把当前行的行号设成42。下一行的行号就是43了。

更多相关文章

  1. Android中查看CPU和内存
  2. 没错,你可以移动式编码了:4款最好的Android设备HTML编辑器
  3. android addr2line使用
  4. Android(安卓)Studio使用杂项
  5. Bugly Android自动上传符号表
  6. 【Android开发学习41】Android(安卓)将文字转为为图片drawText
  7. 4款最好的Android设备HTML编辑器
  8. Android(安卓)RIL 调试分析全记录
  9. android studio ——使用as前的基本设置(很实用的as设置)

随机推荐

  1. 总结了几个Java锁的面试题,看你是否能融会
  2. 再议电商业务的复杂性
  3. markdown与Emmet插件的使用方式
  4. 课程表、用户注册及 css 预习
  5. 关于tp6多对多查询隐藏pivot字段
  6. 监控系统项目实施--安装与部署-- MySQL数
  7. 监控系统项目实施--安装与部署-- MySQL数
  8. 监控系统项目实施--安装与部署-- MySQL数
  9. 监控系统项目实施--安装与部署-- MySQL数
  10. 如何从io.Reader 中读数据