<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## Java編程那些事兒91——裝飾流使用2 陳躍峰 出自:[http://blog.csdn.net/mailbomb](http://blog.csdn.net/mailbomb) #### 11.3.3.2 BufferedReader/BufferedWriter 在進行IO操作時,除了功能以外,程序的執行效率也是必須要考慮的問題。基本的IO類只是注重功能的實現,例如將特定的數據源轉換為流對象,而沒有過多的關注讀寫的效率問題,而實際在進行項目開發時,讀寫效率也是必須要考慮的問題。 為了提高IO類的讀寫效率,在裝飾流中專門制作了一類緩沖流,該類流的作用就是提高流的讀寫效率,這組緩沖流包含:BufferedInputStream/BufferedOutputStream、BufferedReader/BufferedWriter。 該部分以BufferedReader/BufferedWriter為基礎進行介紹。 由于前面介紹DataInputStream/DataOutputStream時,是以文件流作為實體流進行介紹,這里就不再重復了,這里以前面介紹的接收控制臺輸入為基礎介紹緩沖輸入流的使用。 由于裝飾流在進行嵌套時,只能嵌套相同類型的流,例如InputStream類型的流之間可以嵌套,但是InputStream和Reader兩個體系之間的流就無法直接嵌套,為了使用新的IO類帶來的特性,在IO類中提供了兩個專門的類,實現體系之間的轉換,這兩個流類被形象的稱為“橋接流”。 橋接流主要包含2個,依次是: 1、InputStreamReader 該類實現將InputStream及其子類的對象轉換為Reader體系類的對象,實現將字節輸入流轉換為字符輸入流。 2、OutputStreamWriter 該類實現將OutputStream及其子類的對象轉換為Writer體系類的對象,實現將字節輸入流轉換為字符輸入流。 這兩個橋接流使得字節流可以被轉換為字符流,但是需要注意的是,字符流無法轉換為字節流。 在讀取控制臺輸入時,直接使用System.in進行讀取,雖然在功能上可以實現,但是這種方式讀寫流的效率比較差,所以在實際使用時一般需要提高讀寫的效率,這就需要使用裝飾流中的緩沖流,這是一個典型的流的嵌套的示例。該代碼實現的功能是如果回顯用戶輸入,當用戶輸入quit時程序退出。該示例的代碼如下: ~~~ import java.io.*; /** ?* 使用BufferedReader讀取控制臺輸入 ?*/ public class ReadConsoleWithBuffer { ???????? public static void main(String[] args) { ?????????????????? BufferedReader br = null; ?????????????????? String s = null; ?????????????????? try{ ??????????????????????????? //使用流的嵌套構造緩沖流 ??????????????????????????? br = new BufferedReader( ?????????????????????????????????????????????? new InputStreamReader(System.in)); ??????????????????????????? do{ ???????????????????????????????????? //輸出提示信息 ???????????????????????????????????? System.out.println("請輸入:"); ???????????????????????????????????? //按行讀取輸入 ???????????????????????????????????? s = br.readLine(); ???????????????????????????????????? //輸出用戶輸入 ???????????????????????????????????? System.out.println(s); ??????????????????????????? }while(!s.equals("quit")); ?????????????????? }catch(Exception e){ ??????????????????????????? e.printStackTrace(); ?????????????????? }finally{ ??????????????????????????? try{ ???????????????????????????????????? br.close(); ??????????????????????????? }catch(Exception e){ ???????????????????????????????????? e.printStackTrace(); ??????????????????????????? } ?????????????????? } ???????? } } ~~~ 在該示例代碼中,首先使用流的嵌套構建了BufferedReader類型的對象br,然后使用BufferedReader中的readLine方法,每次讀取用戶輸入的一行信息,使用readLine方法讀取內容時,系統以”/r/n”作為每次的結束符號,而且讀取的內容不包含”/r/n”,當讀取到流的末尾時readLine方法的返回值是null。然后使用do-while循環判斷用戶輸入的是否是quit,如果輸入的是quit,則程序結束,否則繼續下一次循環。 關于BufferedWriter的使用,沒有什么特別的地方,這里就不單獨舉例說明了。 #### 11.3.3.3 裝飾流小結 前面介紹了兩類比較常見的裝飾流,在實際的開發中,根據邏輯的需要還可能會用到其它的裝飾流,這些裝飾流的使用和前面介紹的類類似,在實際使用時通過查閱JDK API文檔找到根據功能找到合適的裝飾流,然后進行使用即可。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看