摘要:知識(shí)點(diǎn)總結(jié)類知識(shí)點(diǎn)總結(jié)類用于從緩沖區(qū)中讀取內(nèi)容,所有的輸入字節(jié)數(shù)據(jù)都將放在緩沖區(qū)中中定義的構(gòu)造方法只能接收字符輸入流的實(shí)例,所以必須使用字符輸入流和字節(jié)輸入流的轉(zhuǎn)換類將字節(jié)輸入流轉(zhuǎn)變?yōu)樽址鳌?/p>
Java知識(shí)點(diǎn)總結(jié)(JavaIO- BufferedReader類)
@(Java知識(shí)點(diǎn)總結(jié))[Java, JavaIO]
[toc]
BufferedReader 類用于從緩沖區(qū)中讀取內(nèi)容,所有的輸入字節(jié)數(shù)據(jù)都將放在緩沖區(qū)中
Buffered 中定義的構(gòu)造方法只能接收字符輸入流的實(shí)例,所以必須使用字符輸入流和字節(jié)輸入流的轉(zhuǎn)換類InputStreamReader 將字節(jié)輸入流轉(zhuǎn)變?yōu)樽址鳌? public class Demo10 { public static void add1() { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int i = 0; int j = 0; try { System.out.println("請(qǐng)輸入第一個(gè)數(shù)字:" ); i = Integer.parseInt(br.readLine()); System.out.println("請(qǐng)輸入第二個(gè)數(shù)字:" ); j = Integer.parseInt(br.readLine()); } catch (NumberFormatException | IOException e) { e.printStackTrace(); } System.out.printf("%d+%d=%d",i,j, i + j); } public static void add2(){ InputData input = new InputData(); int i = input.getInt("請(qǐng)輸入第一個(gè)數(shù)字:" , "輸入的數(shù)據(jù)必須為數(shù)字,請(qǐng)重新輸入!" ); int j = input.getInt("請(qǐng)輸入第二個(gè)數(shù)字:" , "輸入的數(shù)據(jù)必須為數(shù)字,請(qǐng)重新輸入!" ); System.out.printf("%d+%d=%d",i,j, i + j); } public static void main(String[] args) { //add1(); add2(); } } /** * 封裝屏幕輸入數(shù)據(jù)算法的類 * 在實(shí)際開發(fā)中很難一次性設(shè)計(jì)出完整的類,首先要完成基本功能的實(shí)現(xiàn) * 可以對(duì)此類進(jìn)行擴(kuò)展,實(shí)現(xiàn)整數(shù)、小數(shù)、字符串、日期類型的輸入 * @author gs * */ class InputData{ private BufferedReader bf ; public InputData() { bf = new BufferedReader(new InputStreamReader(System.in)); } public String getString(String info){ System.out.println(info); String str = ""; try { str = bf.readLine(); } catch (IOException e) { e.printStackTrace(); } return str; } public int getInt(String info,String err){ int temp = 0; boolean flag = true; String str = ""; while(flag){ str = this.getString(info); if (str.matches("^d+$")) { temp = Integer.parseInt(str); flag = false; }else { System.out.println(err); } } return temp; } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/69169.html
摘要:緩沖輸入流從被稱為緩沖區(qū)的存儲(chǔ)器區(qū)域讀出數(shù)據(jù)僅當(dāng)緩沖區(qū)是空時(shí),本地輸入才被調(diào)用。同樣,緩沖輸出流,將數(shù)據(jù)寫入到緩存區(qū),只有當(dāng)緩沖區(qū)已滿才調(diào)用本機(jī)輸出。 :https://segmentfault.com/blog... 1.前言 前陣子休息天日常在尋找項(xiàng)目里不好的代碼,看到了這樣的一段代碼: private Result sshSameExec(Session session,...
摘要:是字節(jié)流通向字符流的橋梁它使用指定的讀取字節(jié)并將其解碼為字符。它使用的字符集可以由名稱指定或顯式給定,或者可以接受平臺(tái)默認(rèn)的字符集。為了達(dá)到最高效率,可要考慮在內(nèi)包裝。 JAVA緩沖區(qū)就是先讀一些數(shù)據(jù)在內(nèi)存中間或者先寫一部分?jǐn)?shù)據(jù)在內(nèi)存中。比如寫,不是每次寫數(shù)據(jù)到磁盤, 而是先把數(shù)據(jù)寫到內(nèi)存中,等到內(nèi)存的緩沖區(qū)滿了再一次寫入磁盤,減少磁盤訪問。JAVA讀取大文需要使用radomAcces...
摘要:知識(shí)點(diǎn)總結(jié)類知識(shí)點(diǎn)總結(jié)類類可以進(jìn)行創(chuàng)建和刪除文件等操作。使用一個(gè)類,則必須向類的構(gòu)造方法中傳遞一個(gè)文件路徑。 Java知識(shí)點(diǎn)總結(jié)(JavaIO-File類) @(Java知識(shí)點(diǎn)總結(jié))[Java, JavaIO] [toc] File類 File類可以進(jìn)行創(chuàng)建和刪除文件等操作。使用一個(gè)File類,則必須向File類的構(gòu)造方法中傳遞一個(gè)文件路徑。 showImg(https://segme...
摘要:知識(shí)點(diǎn)總結(jié)類知識(shí)點(diǎn)總結(jié)后提供的輸入數(shù)據(jù)類,此類位于包中,不僅可以完成輸入數(shù)據(jù)的操作,還可以方便地對(duì)輸入數(shù)據(jù)進(jìn)行驗(yàn)證。 Java知識(shí)點(diǎn)總結(jié)(JavaIO- Scanner類 ) @(Java知識(shí)點(diǎn)總結(jié))[Java, JavaIO] showImg(https://segmentfault.com/img/bV9dAj?w=838&h=396); JDK 1.5后提供的輸入數(shù)據(jù)類,此類位于...
摘要:下面我們使用字節(jié)輸入輸出流來說明這個(gè)問題輸入流一般是由對(duì)象如建立的,當(dāng)新建一個(gè)時(shí),對(duì)象建立了一個(gè)包含有數(shù)據(jù)的管道其實(shí)就是我們所說的這個(gè)流并將對(duì)象存儲(chǔ)的數(shù)據(jù)輸入到管道中,因此管道里的數(shù)據(jù)流就是對(duì)象內(nèi)的數(shù)據(jù)。 流的原理: showImg(/img/bVqa89); 一連串有順序的數(shù)據(jù)系列可以看成是一個(gè)流。 輸入輸出流: 數(shù)據(jù)從IO輸入到程序的流是輸入流,數(shù)據(jù)從程序輸出到IO的流是輸出流。 ...
閱讀 1764·2021-10-11 10:59
閱讀 2403·2021-09-30 09:53
閱讀 1765·2021-09-22 15:28
閱讀 2796·2019-08-29 15:29
閱讀 1559·2019-08-29 13:53
閱讀 3207·2019-08-29 12:34
閱讀 2850·2019-08-26 10:16
閱讀 2661·2019-08-23 15:16