<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                對于java的IO流的理解很長時間來都是很亂,包括學習其他的語言對這一塊知識也都算是一個盲點.更多的時候一提到讀取保存數據就是使用數據庫。這一次學習了IO流,自己又解決了一個很大的盲點。 IO流為我們提供了這樣一種方案,就是把我們的數據保存到文件中,或者從文件中讀取我們的數據。IO流為我們提供了一條通道程序,可以使用這條通道把源中的字節序列送到目的地.源可以是文件、網絡、壓縮包或者其他數據源。 ### IO流分類 1.按流的方向分為輸入流和輸出流 2.按流的數據單位分為字節流和字符流 3.按功能分為字節流和處理流 ### 節點流 節點流可以從一特定的數據源讀寫數據. ![](https://box.kancloud.cn/2016-03-23_56f1fee58b094.jpg) ![](https://box.kancloud.cn/2016-03-23_56f1fee5a1499.jpg) ### 處理流 處理流是”連接”在已存在的流(節點流或處理流)之上.為對數據的處理提供更強大的讀寫功能. ![](https://box.kancloud.cn/2016-03-23_56f1fee5cc7a0.jpg) ![](https://box.kancloud.cn/2016-03-23_56f1fee5e730f.jpg) 關于節點就和處理流.就好比給了我們一桶水,我們需要一條水管將水引出來,這條水管就是節點流.但是流出來的水我們一看是不太干凈,所以我們需要一個凈化器,這個凈化器就是處理流。 ### IO流的四大抽象類 InputStream:繼承自InputStream的流都是用于向程序中輸入數據。且數據的單位為字節(8bit) outputSteam:與inputStream相似,用來輸出數據。 Reader:繼承自Reader的流都是用于向程序中輸入數據,數據單位為字符(16 bit) Write:與Reader相似,用于輸出數據. ![](https://box.kancloud.cn/2016-03-23_56f1fee61b6c6.jpg) ### 緩沖流 上面的輸入輸出流一次只能讀取一個字節或者字符.如果我有1024個字節要讀取,那么我要進行1024次操作。可以想象如果文件十分龐大這樣的操作肯定會先很大的問題。基于這種問題,引出了緩沖流的概念。緩沖流就好比在水管后又加了一個水盆。 ### 數據流 當我們需要讀取java的一些基本類型的時候,如果使用inputStream和OutputStream會不斷的進行轉換。比如我們讀取一個long類型的值(long類型占8個字節)時,讀取很多次。此時數據流就為我們提供了這樣一種操作。那就是直接讀取這數值。 ### 對象流 對象流就是把一個Object直接轉換成字節流寫到硬盤上或者網絡上.這種操作叫做序列化. ### 幾個小例子 1.第一個例子,演示了FileInputStream和FileOutStream的使用,該例子實現的是將a.txt中的文本復制一份到b.txt中去。 read()方法一次只能讀取一個字節。使用當返回值為-1時表示已經讀到了文本的末尾。 使用輸入輸出流要注意異常的處理。此處處理了兩個異常 ~~~ public static void main(String[] args) { int b=0; FileInputStream in=null; FileOutputStream out=null; try { in=new FileInputStream("G:/a.txt"); out =new FileOutputStream("G:/b.txt"); while((b=in.read())!=-1) { out.write(b); } in.close(); out.close(); } catch(FileNotFoundException e2) { System.out.println("沒有發現文件"); System.exit(-1); } catch(IOException e1) { System.out.println("文件復制錯誤"); System.exit(-1); } System.out.println("文件以復制"); } ~~~ 2.第二個例子展示了緩沖流的使用 使用緩沖流時readLine()方法一次可以讀取一行數據. 此處有個強制類型轉換.要注意,不然輸出的會是ASCII碼. ~~~ public static void main(String[] args) { try { FileReader fis=new FileReader("G:/a.txt"); BufferedReader bis=new BufferedReader(fis); int c=0; System.out.println(bis.readLine());//讀取一行字符串 for(int i=1;i<=3&&(c=bis.read())!=-1;i++) { System.out.print((char)c+"");//強制類型轉換,不然輸出的是ASCII碼 } System.out.println(); bis.close(); } catch(IOException e) { e.printStackTrace(); } } ~~~ ### 總結 IO流的帶給了我另一種保存數據的方式,以前保存數據,就只會想到數據庫.而現在我們又多了一種新的方式.對于IO流重要的是要理解字節流和處理流這兩個概念.字節流負責把數據從數據源提取出來(或者將數據保存到文檔中),而處理流是要對數據進行處理,其中有緩沖流,數據流和對象流,針對不同的使用環境我們要甄別使用,處理流可以重疊使用.然后理解了四個抽象類以及他們的方法.掌握了這些對于IO流的理解就算是基本入門了。 ? ? ?? ?
                  <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>

                              哎呀哎呀视频在线观看