黑马程序员技术交流社区

标题: 读取流,加行号的装饰类怎么写啊? [打印本页]

作者: Eagle    时间: 2014-11-4 22:32
标题: 读取流,加行号的装饰类怎么写啊?
本帖最后由 Eagle 于 2014-11-4 22:37 编辑

想要不把行号隔开的
如这样就感觉不满意:

18
19            
20               //只要将需要被提高效率的流对象作为参数传递给缓冲区的构造
函数即可。》》》》》》》》》》》》》在这里字符超出范围后在行号这里打印了。想要在21行后打印多余的字符,怎么解决这个问题呢??
21               BufferedWriter bufw = new BufferedWriter(fw);
22


我的代码:
  1. class MyLineNumberReader extends Reader
  2. {
  3.         private Reader r;
  4.         private int lineNumber;
  5.         MyLineNumberReader(Reader r)
  6.         {
  7.                 this.r = r;
  8.         }
  9.         public String myReadLine() throws IOException
  10.         {

  11.                 lineNumber++;
  12.                 StringBuilder sb = new StringBuilder();

  13.                 int ch = 0;

  14.                 while ((ch = r.read())!=-1)
  15.                 {
  16.                         if (ch=='\r')
  17.                                 continue;
  18.                         if (ch=='\n')
  19.                                 return sb.toString();
  20.                         sb.append((char)ch);
  21.                 }
  22.                 if ((sb.length())!=0)
  23.                 {
  24.                         return sb.toString();
  25.                 }
  26.                 return null;
  27.         }
  28.         public void close()throws IOException
  29.         {
  30.                 r.close();
  31.         }
  32.         public int read(char[] c,int off,int len)
  33.         {
  34.                 return read(c,off,len);
  35.         }
  36.         public void setLineNumber(int lineNumber)
  37.         {
  38.                 this.lineNumber=lineNumber;
  39.         }
  40.         public int getLineNumber()
  41.         {
  42.                 return lineNumber;
  43.         }
  44. }
复制代码

想要打印出来不要有把行号隔开的现象。
大神来支一招如何?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2