歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java 對readLine擴展添加行號樣式

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