A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蓝枫 中级黑马   /  2014-3-31 10:34  /  660 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. class MyLineNumberReader
  3. {
  4.         private Reader r;
  5.         private int lineNumber;
  6.         MyLineNumberReader(Reader r)
  7.         {
  8.                 this.r = r;
  9.         }
  10.         public String myReaderLine()throws IOException
  11.         {
  12.                 lineNumber++;
  13.                 StringBuilder sb = new StringBuilder();

  14.                 int ch = 0;

  15.                 while((ch=r.read())!=-1)
  16.                 {
  17.                         if(ch=='\r')
  18.                                 continue;
  19.                         if(ch=='\n')
  20.                                 return sb.toString();
  21.                         else
  22.                                 sb.append((char)ch);

  23.                 }
  24.                 if(sb.length()!=0)
  25.                      return sb.toString();
  26.                 return null;
  27.         }
  28.         public void setLineNumber(int lineNumber)
  29.         {
  30.                 this.lineNumber = lineNumber;
  31.         }
  32.         public int getLineNumber()
  33.         {
  34.                 return lineNumber;
  35.         }
  36.         public void myClose()throws IOException
  37.         {
  38.                 r.close();
  39.         }
  40. }

  41. class MyLinNumberReaderDemo
  42. {
  43.         public static void main(String[] args)throws IOException
  44.         {
  45.                 FileReader fr = new FileReader("Demo.txt");
  46.                 MyLineNumberReader mylnr = new MyLineNumberReader(fr);

  47.                 String line = null;

  48.                 while((line=mylnr.myReaderLine())!=null)
  49.                 {
  50.                         System.out.println(mylnr.getLineNumber()+"::"+line);
  51.                 }
  52.                 mylnr.myClose();
  53.         }
  54. }

  55. 哪里出错了,怎么运行不了!
复制代码

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

2 个回复

倒序浏览
我跑了一下,代码是没有问题的。估计是你的错是找不到文件吧。
一:如果你用相对路径的话,要把txt文件放在项目路径里面。
二:用绝对路径的话例如下面代码,但前提是在F盘有Demo.txt这个文件。
  1. FileReader fr = new FileReader("F://Demo.txt");
复制代码

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
没看出来什么问题,只是你设置的行数貌似没有调用到,要把他添加到StringBuffer里面
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马