自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
来源:互联网 发布:手机淘宝排行榜模版 编辑:程序博客网 时间:2024/05/21 02:48
自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
package com.itheima;import java.io.FileReader;import java.io.IOException;import java.io.LineNumberReader;import java.io.Reader;/** *自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装, *让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时, *能够在读取的每行前面都加上有行号和冒号。 *分析: *通过题意可以的出:需要自定义字符输入流的包装类,底层使用的是Rader类,同时程序中一次读取一行, *需要对换行符和回车符做为一行的结束标志,自定义类完成后,还需要在测试类中测试,并且添加行号和冒号 */public class Test5 {public static void main(String[] args) throws IOException {//创建自定义对象MyBufferReader mbr= new MyBufferReader(new FileReader("1.txt"));//创建跟踪行号缓冲字符输入流LineNumberReader lnr =new LineNumberReader( new FileReader("1.txt"));//定义一个对象用来存储读取的字符String line = null;//使用自定义对象读取内容、while((line = mbr.readerLine())!=null){//使用跟踪行号缓冲字符输入流读取字符while((line = lnr.readLine())!=null){//在输出时添加行号和冒号,并打印这个字符串、System.out.println(lnr.getLineNumber()+":"+line);}}//关闭方法lnr.close();mbr.close();}}class MyBufferReader{//定义一个字符输入流private Reader r;//构造方法MyBufferReader(Reader r){this.r =r;}//自定义读取一行数据public String readerLine() throws IOException{//创建一个字符缓冲区对象用来存储这个每次读取的字符StringBuilder sb = new StringBuilder();//定义一个结束标志ch int ch =0;//读取字符、while((ch=r.read())!=-1){//在windows系统下 判断结束的标志是回车加换行两个字符,如果 这个等 于回车了,那么就去读取换行字符if(ch=='\r'){//结束读取回车,进行下次读取换行continue;}//如果是读取到换行了,就是说这一行数据我读取完成了,把这一行数据返回if(ch=='\n'){return sb.toString();}else{//否则就拼接这个字符sb.append((char)ch);}}//为了防止数据丢失,判断sb的长度不能大于0if(sb.length()>0){return sb.toString();}return null;}//关闭方法public void close() throws IOException{this.r.close();}}
0 0
- 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
- 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,
- 从标准输入中读取几行输入,每行输入都要打印到标准输出上,前面要加上行号。在编写这个程序时要是图让程序能够处理的输入行的长度没
- 从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制。
- 2.编写一个程序,从标准输入读取几行输入,每行输入都要打印到标准输出上,前面加上行号,在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制。
- 2.编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制
- 一个简单的字符输入流包装类
- 【C语言】编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制。
- C语言 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制
- 【c语言】编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制。
- 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制
- 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制
- 【C语言】从标准输入读取几行输入,每行输入都要打印到标准输出上,前面加上行号,并使此程序能够处理的输入行的长度没有限制。
- 字符包装类
- 从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号,使能够处理的输入行的长度没有限制
- java的包装类
- java的包装类
- JAVA的包装类
- LVS持久连接
- php文件上传
- <img src="">标签中的src 找不到 Servlet的路径
- 黑马程序员--转换流、打印流、序列化流、Properties类
- Android UI设计:TextView与EditText
- 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
- Mysql 中的事务
- 虚方法
- 数字视频广播字幕系统(第四章)
- Blob分析
- android 点击拨打电话发短信
- JSP内置对象和属性
- C/C++易错难点笔记02
- 实现带清除效果的EditText