歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java 對readLine擴展添加行號樣式

Java 對readLine擴展添加行號樣式

日期:2017/3/1 9:08:30   编辑:Linux編程

Java 的流的使用中,在字符緩沖輸入流中,有一個每次讀取一行數據的方法:readLine();

在這裡使用簡單的繼承方法對其繼續擴展,使得返回每行前面添加序號

2 //需要導入的一些包
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

//使用繼承的方法,對BufferedReader類的readline()方法進行擴展

//自定義一個繼承BufferedReader的類
class BufferedRLN extends BufferedReader{
int count = 0;
//構造方法,使用父類的參數
public BufferedRLN(Reader in){
super(in); //
}

@Override
public String readLine() throws IOException {
//調用父類的readline()方法,返回一行數據
String content = super.readLine();
//給返回的數據設置樣式(這裡添加行號)
if (content == null) {
return null; //如果為空,數據已經讀完
}
content = count+" "+content; //添加行號
count++;
return content;
}
}


public class readline {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File file = new File("C:\\Users\\lx\\Desktop\\io作業.txt");

readlineExt1(file);
}

//使用自定義類 BufferedRLN
public static void readlineExt1(File file) throws IOException{

FileReader frd = new FileReader(file);
//這裡的 實際參數 frd 將傳到自定義裡的構造方法裡
BufferedRLN bfrd = new BufferedRLN(frd);
//讀取數據
String string = null;
while ((string = bfrd.readLine()) != null) {
System.out.println(string);
}
//關閉資源
frd.close();
}

Copyright © Linux教程網 All Rights Reserved