黑马程序员技术交流社区
标题:
自己写的BufferReader类,帮助Reader实现readline()方法并添加行号
[打印本页]
作者:
嘿嘿小学徒
时间:
2013-1-4 09:39
标题:
自己写的BufferReader类,帮助Reader实现readline()方法并添加行号
class MyReader {
public Reader reader;
public int index = 1; // 行号
public MyReader(Reader reader) {
this.reader = reader;
}
public String readLine() throws IOException { //将异常交给方法调用处处理
StringBuilder s = new StringBuilder(index + " : ");
int buf;
while ((buf = reader.read()) != 10 && buf != -1) { //当读到'\n'时停止读取
s.append((char) buf);
}
index++;
if (buf == -1)
return null;
else
return s.toString();
}
public void close() throws IOException { //提供close方法,关闭资源;
if (reader != null) {
reader.close();
}
}
}
复制代码
作者:
嘿嘿小学徒
时间:
2013-1-4 09:40
测试类:
public static void main(String[] args) {
Reader in = null;
MyReader myReader=null;
try {
in = new FileReader("/home/gaoyihang/Desktop/NormalWindow.java");
myReader = new MyReader(in);
String s = null; // 定义一个字符串 接收每一行数据
while ((s = myReader.readLine()) != null) {
System.out.println(s);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (myReader != null) {
try {
myReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
复制代码
希望大家多提意见!
作者:
嘿嘿小学徒
时间:
2013-1-4 11:59
叶桂宏 发表于 2013-1-4 10:17
把index定义为私有的,然后提供set方法,这样程序是不是更好些呢?
谢谢建议!! 是应该定义似有的!!
这set方法也秒! 可以初始化行号~ 妙啊 !谢谢!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2