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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Eagle 高级黑马   /  2014-11-4 22:32  /  719 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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. }
复制代码

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

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马