<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 功能強大 支持多語言、二開方便! 廣告
                > InputStream字節輸入流 OutputStream字節輸出流 用于以字節的形式讀取和寫入數據 # ASCII碼 概念 所有的數據存放在計算機中都是以數字的形式存放的。 所以字母就需要轉換為數字才能夠存放。 比如A就對應的數字65,a對應的數字97. 不同的字母和符號對應不同的數字,就是一張碼表。 ASCII是這樣的一種碼表。 只包含簡單的英文字母,符號,數字等等。 不包含中文,德文,俄語等復雜的。 ![](https://box.kancloud.cn/13ac6e883e2bee9adb2bf04320701441_1155x815.jpg) # 以字節流的形式讀取文件內容 InputStream是字節輸入流,同時也是抽象類,只提供方法聲明,不提供方法的具體實現。 FileInputStream 是InputStream子類,以FileInputStream 為例進行文件讀取 ``` package com.dodoke.util; import java.io.File; import java.io.FileInputStream; public class TestSteam3 { public static void main(String[] args) { try { // 準備文件lol.txt其中的內容是AB,對應的ASCII分別是65 66 File f = new File("d:/log.txt"); // 創建基于文件的輸入流 FileInputStream fis = new FileInputStream(f); // 創建字節數組,其長度就是文件的長度 byte[] all = new byte[(int) f.length()]; // 以字節流的形式讀取文件的所有內容 fis.read(all); for (byte b : all) { System.out.println(b); } // 每次使用完流,都應該進行關閉 fis.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` # 以字節流的形式向文件寫入數據 OutputStream是字節輸出流,同時也是抽象類,只提供方法聲明,不提供方法的具體實現。 FileOutputStream 是OutputStream子類,以FileOutputStream 為例向文件寫出數據 注: 如果文件d:/lol2.txt不存在,寫出操作會自動創建該文件。 但是如果是文件 d:/xyz/lol2.txt,而目錄xyz又不存在,會拋出異常 ``` package com.dodoke.util; import java.io.File; import java.io.FileOutputStream; public class TestSteam4 { public static void main(String[] args) { try { // 準備文件lol2.txt其中內容是空的 File f = new File("d:/log2.txt"); // 準備長度是2的字節數組,用88,89初始化,其對應的字符分別是X,Y byte data[] = { 88, 89 }; // 創建基于文件的輸出流 FileOutputStream fos = new FileOutputStream(f); fos.write(data); // 每次使用完流,都應該進行關閉 fos.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` # 練習-寫入數據到文件 以字節流的形式向文件寫入數據 中的例子,當lol2.txt不存在的時候,是會自動創建lol2.txt文件的。 但是,如果是寫入數據到d:/xyz/lol2.txt,而目錄xyz又不存在的話,就會拋出異常。 那么怎么自動創建xyz目錄? 如果是多層目錄 d:/xyz/abc/def/lol2.txt 呢? ``` package com.dodoke.util; import java.io.File; import java.io.FileOutputStream; public class TestSteam4 { public static void main(String[] args) { try { File f = new File("d:/xyz/abc/def/log2.txt"); // 因為默認情況下,文件系統中不存在 d:\xyz\abc\def,所以輸出會失敗 // 首先獲取文件所在的目錄 File dir = f.getParentFile(); if (!dir.exists()) { // dir.mkdir(); //使用mkdir會拋出異常,因為該目錄的父目錄也不存在 dir.mkdirs();//使用mkdirs則會把不存在的目錄都創建好 } // 準備長度是2的字節數組,用88,89初始化,其對應的字符分別是X,Y byte data[] = { 88, 89 }; // 創建基于文件的輸出流 FileOutputStream fos = new FileOutputStream(f); fos.write(data); // 每次使用完流,都應該進行關閉 fos.close(); } catch (Exception e) { e.printStackTrace(); } } } ```
                  <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>

                              哎呀哎呀视频在线观看