<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 `ByteArrayOutputStream`類 > 原文: [https://www.programiz.com/java-programming/bytearrayoutputstream](https://www.programiz.com/java-programming/bytearrayoutputstream) #### 在本教程中,我們將借助示例學習 Java `ByteArrayOutputStream`及其方法。 `java.io`包的`ByteArrayOutputStream`類可用于寫入輸出數據數組(以字節為單位)。 它擴展了`OutputStream`抽象類。 ![The ByteArrayOutputStream is a subclass of the Java OutputStream.](https://img.kancloud.cn/a6/6c/a66ccabba0fe37d7f7828670a5dde56a_536x372.png "Java ByteArrayOutputStream Class") **注意**:在`ByteArrayOutputStream`中維護一個內部字節數組來存儲數據。 * * * ## 創建一個`ByteArrayOutputStream` 為了創建字節數組輸出流,我們必須首先導入`java.io.ByteArrayOutputStream`包。 導入包后,就可以創建輸出流。 ```java // Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream(); ``` 在這里,我們創建了一個輸出流,它將數據寫入默認大小為 32 個字節的字節數組中。 但是,我們可以更改數組的默認大小。 ```java // Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size); ``` 在此,`size`指定數組的長度。 * * * ## `ByteArrayOutputStream`的方法 `ByteArrayOutputStream`類提供`OutputStream`類中存在的不同方法的實現。 ### `write()`方法 * `write(int byte)` - 將指定的字節寫入輸出流 * `write(byte[] array)` - 將指定數組中的字節寫入輸出流 * `write(byte[] arr, int start, int length)` - 從位置`start`開始,將等于`length`的字節數寫入數組的輸出流中 * `writeTo(ByteArrayOutputStream out1)` - 將當前輸出流的整個數據寫入指定的輸出流 ### 示例:`ByteArrayOutputStream`寫入數據 ```java import java.io.ByteArrayOutputStream; class Main { public static void main(String[] args) { String data = "This is a line of text inside the string."; try { // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] array = data.getBytes(); // Writes data to the output stream out.write(array); // Retrieves data from the output stream in string format String streamData = out.toString(); System.out.println("Output stream: " + streamData); out.close(); } catch(Exception e) { e.getStackTrace(); } } } ``` **輸出** ```java Output stream: This is a line of text inside the string. ``` 在上面的示例中,我們創建了一個名為`output`的字節數組輸出流。 ```java ByteArrayOutputStream output = new ByteArrayOutputStream(); ``` 要將數據寫入輸出流,我們使用了`write()`方法。 **注意**:程序中使用的`getBytes()`方法將字符串轉換為字節數組。 * * * ### 從`ByteArrayOutputStream`訪問數據 * `toByteArray()` - 返回輸出流中存在的數組 * `toString()` - 以字符串形式返回輸出流的全部數據 例如, ```java import java.io.ByteArrayOutputStream; class Main { public static void main(String[] args) { String data = "This is data."; try { // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); // Writes data to the output stream out.write(data.getBytes()); // Returns an array of bytes byte[] byteData = out.toByteArray(); System.out.print("Data using toByteArray(): "); for(int i=0; i<byteData.length; i++) { System.out.print((char)byteData[i]); } // Returns a string String stringData = out.toString(); System.out.println("\nData using toString(): " + stringData); out.close(); } catch(Exception e) { e.getStackTrace(); } } } ``` **輸出**: ```java Data using toByteArray(): This is data. Data using toString(): This is data. ``` 在上面的示例中,我們創建了一個字節數組來存儲`toByteArray()`方法返回的數據。 然后,我們使用了`for`循環來訪問數組中的每個字節。 在此,使用類型轉換將每個字節轉換為相應的字符。 * * * ### `close()`方法 要關閉輸出流,可以使用`close()`方法。 但是,`close()`方法在`ByteArrayOutputStream`類中無效。 即使調用了`close()`方法,我們也可以使用此類的方法。 * * * ## `ByteArrayOutputStream`的其他方法 | 方法 | 內容描述 | | --- | --- | | `size()` | 返回輸出流中數組的大小 | | `flush()` | 清除輸出流 | 要了解更多信息,請訪問 [Java `ByteArrayOutputStream`(Java 官方文檔)](https://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayOutputStream.html "Java ByteArrayOutputStream (official Java documentation)")。
                  <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>

                              哎呀哎呀视频在线观看