黑马程序员技术交流社区
标题:
到底哪里出问题了???
[打印本页]
作者:
macouen
时间:
2013-8-18 15:29
标题:
到底哪里出问题了???
本帖最后由 macouen 于 2013-8-18 15:34 编辑
设置行号没有执行。
我实在找不到哪的问题了~你们谁运行下看看~
import java.io.*;
class MyLineNumberReader
{
private Reader r;
private int lineNumber;
MyLineNumberReader(Reader r)
{
this.r = r;
}
public String myReadLine()throws IOException
{
lineNumber++;
StringBuilder sb = new StringBuilder();
int ch = 0;
while((ch=r.read())!=-1)
{
if(ch=='\r')
continue;
if(ch=='\n')
return sb.toString();
else
sb.append((char)ch);
}
if(sb.length()!=0)
return sb.toString();
return null;
}
public void setLineNumber(int lineNumber)
{
this.lineNumber = lineNumber;
}
public int getLineNumber()
{
return lineNumber;
}
public void myClose()throws IOException
{
r.close();
}
}
class MyLineNumberReaderDemo
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("copyTextByBuf.java");
MyLineNumberReader mylnr = new MyLineNumberReader(fr);
String line = null;
mylnr.setLineNumber(100);
while((line=mylnr.myReadLine())!=null)
{
System.out.println(mylnr.getLineNumber()+"::"+line);
}
mylnr.myClose();
}
}
复制代码
作者:
macouen
时间:
2013-8-18 15:35
第54行~我设置了从100开始。。但是没有执行~
作者:
静以修身
时间:
2013-8-18 15:41
你使用到了IO中的一个设计模式:装饰设计模式。
装饰设计模式解决:对一组类进行功能的增强。
包装:写一个类(包装类)对被包装对象进行包装;
* 1、包装类和被包装对象要实现同样的接口;
* 2、包装类要持有一个被包装对象;
* 3、包装类在实现接口时,大部分方法是靠调用被包装对象来实现的,对于需要修改的方法我们自己实现;
很明显 MyLineNumberReader 也要继承Reader抽象类
class MyLineNumberReader extends Reader
{
private Reader r;
private int lineNumber;
应该是这样,我没有实现,你调试看看吧!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2