java 的流的使用中,在字符缓冲输入流中,有一个每次读取一行数据的方法:readLine();
在这里使用简单的继承方法对其继续扩展,使得返回每行前面添加序号
1 2 //需要导入的一些包 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileReader; 6 import java.io.IOException; 7 import java.io.Reader; 8 9 //使用继承的方法,对BufferedReader类的readline()方法进行扩展10 11 //自定义一个继承BufferedReader的类12 class BufferedRLN extends BufferedReader{13 int count = 0;14 //构造方法,使用父类的参数15 public BufferedRLN(Reader in){16 super(in); //17 }18 19 @Override20 public String readLine() throws IOException { 21 //调用父类的readline()方法,返回一行数据22 String content = super.readLine();23 //给返回的数据设置样式(这里添加行号)24 if (content == null) {25 return null; //如果为空,数据已经读完26 }27 content = count+" "+content; //添加行号28 count++;29 return content;30 }31 }32 33 34 public class readline {35 public static void main(String[] args) throws IOException {36 // TODO Auto-generated method stub37 File file = new File("C:\\Users\\lx\\Desktop\\io作业.txt");38 39 readlineExt1(file);40 } 41 42 //使用自定义类 BufferedRLN43 public static void readlineExt1(File file) throws IOException{44 45 FileReader frd = new FileReader(file);46 //这里的 实际参数 frd 将传到自定义里的构造方法里47 BufferedRLN bfrd = new BufferedRLN(frd);48 //读取数据49 String string = null;50 while ((string = bfrd.readLine()) != null) {51 System.out.println(string); 52 }53 //关闭资源54 frd.close();55 } 56 57
原标题:java 对readLine扩展添加行号样式
关键词:JAVA