黑马程序员---自定义一个带行号的缓冲区对象
2015-05-28 22:21
337 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
刚开始,我使用视频中老师教的if语句判断的方法。
先自定义一个缓冲类,在构造方法中传Read类型对象
然后写一个mySetLineNumber实现一次读一行的功能;
代码如下:
在写该代码过程中,发现判断行末尾是否是换行的语句中,觉得应该可以使用switch来实现
所以我把这段代码修改使用switch来实现
while ((ch=bufr.read())!=-1)
{
switch (ch)
{
case '\r':
continue;
case '\n':
return sb.toString();
default :
sb.append((char)ch);
break;
}
刚开始,我使用视频中老师教的if语句判断的方法。
先自定义一个缓冲类,在构造方法中传Read类型对象
然后写一个mySetLineNumber实现一次读一行的功能;
代码如下:
class MyLineNumberReader { private Reader bufr; private int lineNumber = 0; MyLineNumberReader(Reader bufr) { this.bufr = bufr; } public void mySetLineNumber(int lineNumber) { this.lineNumber = lineNumber; } public int myGetLineNumber() { return lineNumber; } public String myReadLine()throws IOException { lineNumber++; int ch = 0; StringBuilder sb = new StringBuilder(); while ((ch=bufr.read())!=-1) { if(ch=='\r') { continue; } if(ch=='\n') { return sb.toString(); } sb.append((char)ch); } if(sb.length()!=0) { return sb.toString(); } return null; } public void myClose()throws IOException { bufr.close(); } }
在写该代码过程中,发现判断行末尾是否是换行的语句中,觉得应该可以使用switch来实现
所以我把这段代码修改使用switch来实现
while ((ch=bufr.read())!=-1)
{
switch (ch)
{
case '\r':
continue;
case '\n':
return sb.toString();
default :
sb.append((char)ch);
break;
}
相关文章推荐
- 黑马程序员——多线程(一)
- 黑马程序员——明确 构造函数\构造代码块\静态代码块\ 的功能特点(图解)
- 黑马程序员+Java基础中的设计模式
- 黑马程序员----反射
- Google 历年笔试面试30题
- 阿里巴巴历年笔试面试70题
- Java程序员到架构师的推荐阅读书籍
- 开发日记(4)如何将Bitmap转换成Uri?
- 面试题20 顺时针打印矩阵
- Android开发面试经——6.常见面试官提问Android题②(更新中...)
- Android开发面试经——5.常见面试官提问Android题①
- Android开发面试经——2.常见Android基础笔试题
- Android开发面试经——3.常见Java基础笔试题
- Android开发面试经——4.常见Android进阶笔试题(更新中...)
- Android开发面试经——1.常见人事面试问题
- 连载《一个程序员的成长历程》-18.离职前与领导的交流
- (转)FPGA面试
- 未来 5 年八大热门 IT 职业
- 黑马程序员——IO流(二)
- 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告