天天看點

使用緩沖輸入流優化資料輸入能力 | 帶你學《Java語言進階特性》之六十七

上一篇:System類助力标準IO實作 | 帶你學《Java語言進階特性》之六十六

本節将為讀者介紹緩沖字元輸入流BufferedReader類,并向讀者介紹使用緩沖流的一些資料輸入方面的優點。

【本節目标】

通過閱讀本節内容,你将先了解到BufferedReader的繼承關系,并了解到其核心方法readLine在資料輸入方面帶來的便利性,學會使用BufferedReader類實作鍵盤資料的輸入和處理工作。

BufferedReader類

BufferedReader類提供的是一個緩沖字元輸入流的概念,也就是說利用BufferedReader類可以很好的解決輸入流資料的讀取問題,這個類是在最初的時候提供的最完善的資料輸入的處理(JDK1.5之前,JDK1.5後出了一個更很強大的類代替此類),之是以使用這個類來處理,是因為這個類中提供有一個重要的方法:

讀取一行資料: public String readLine() throws IOException;

使用緩沖輸入流優化資料輸入能力 | 帶你學《Java語言進階特性》之六十七

BufferedReader

将利用這個類實作鍵盤輸入資料的标準化定義。

範例:實作鍵盤資料輸入

import java.io.BufferedReader;
import java.io.InputStreamReader;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
        System.out.print("請輸入資訊:");
        String msg=input.readLine();   //接收輸入資訊
        System.out.println("輸入内容為:"+ msg);
        input.close();
    }
}
//請輸入資訊:馬上就放假了,我們要一起開心的學習,不放假了!
//輸入内容為:馬上就放假了,我們要一起開心的學習,不放假了!           

在以後的實際開發中經常會遇見輸入資料的情況,而所有輸入資料的類型都是通過String描述的,那麼這樣就友善了接收者進行各種處理。

範例:接收整型輸入并且驗證

import java.io.BufferedReader;
import java.io.InputStreamReader;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
        System.out.print("請輸入您的年齡:");
        String msg=input.readLine();   //接收輸入資訊
        if(msg.matches("\\d{1,3}")){    //是否由數字所組成
            int age=Integer.parseInt(msg);
            System.out.println("年齡為:"+age);
        }else{
            System.err.println("請確定您看懂了我的提示,不要随意輸入,傷不起!");
        }
    }
}           

對于現在的Java開發由鍵盤輸入資料的情況并不多了,但是作為一些基礎的邏輯訓練還是可以使用鍵盤輸入資料的,而鍵盤輸入資料的标準做法(JDK1.5之前)就是上面的實作操作。實際開發中所有輸入的資料全部都是字元串,這樣可以友善驗證與進行字元串的複雜處理。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:使用Scanner類完成資料輸入 | 帶你學《Java語言進階特性》之六十八 更多Java面向對象程式設計文章檢視此處