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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Java `OutputStreamWriter`類 > 原文: [https://www.programiz.com/java-programming/outputstreamwriter](https://www.programiz.com/java-programming/outputstreamwriter) #### 在本教程中,我們將借助示例學習 Java `OutputStreamWriter`及其方法。 `java.io`包的`OutputStreamWriter`類可用于將字符形式的數據轉換為字節形式的數據。 它擴展了抽象類`Writer`。 ![The OutputStreamWriter is a subclass of the Java Writer.](https://img.kancloud.cn/f5/12/f5129da0ce2b05b3d8041e1d976fe9cf_476x372.png "Java OutputStreamWriter Class") `OutputStreamWriter`類可與其他輸出流一起使用。 它也被稱為字節流和字符流之間的橋梁。 這是因為`OutputStreamWriter`將其字符轉換為字節。 例如,某些字符需要 2 個字節才能存儲在存儲器中。 要寫入此類數據,我們可以使用輸出流寫入器,該輸出流寫入器將字符轉換為相應的字節并將字節存儲在一起。 * * * ## 創建一個`OutputStreamWriter` 為了創建一個`OutputStreamWriter`,我們必須首先導入`java.io.OutputStreamWriter`包。 導入包后,就可以創建輸出流寫入器。 ```java // Creates an OutputStream FileOutputStream file = new FileOutputStream(String path); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); ``` 在上面的示例中,我們創建了一個名為`OutputStreamWriter`的輸出以及`FileOutputStream`命名的文件。 在這里,我們使用默認的字符編碼將字符寫入輸出流。 但是,我們可以指定用于寫入數據的字符編碼類型(**UTF8** 或 **UTF16**)。 ```java // Creates an OutputStreamWriter specifying the character encoding OutputStreamWriter output = new OutputStreamWriter(file, Charset cs); ``` 在這里,我們使用`Charset`類指定字符編碼的類型。 * * * ## `OutputStreamWriter`的方法 `OutputStreamWriter`類提供了`Writer`類中存在的不同方法的實現。 ### `write()`方法 * `write()` - 向編寫者寫入一個字符 * `write(char[] array)` - 將指定數組中的字符寫入寫入器 * `write(String data)` - 將指定的字符串寫入寫入器 * * * ### 示例:`OutputStreamWriter`將數據寫入文件 ```java import java.io.FileOutputStream; import java.io.OutputStreamWriter; public class Main { public static void main(String args[]) { String data = "This is a line of text inside the file."; try { // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); // Writes string to the file output.write(data); // Closes the writer output.close(); } catch (Exception e) { e.getStackTrace(); } } } ``` 在上面的示例中,我們使用文件輸出流創建了一個輸出流讀取器。 輸出流讀取器與`output.txt`文件鏈接。 ```java FileOutputStream file = new FileOutputStream("output.txt"); OutputStreamWriter output = new OutputStreamWriter(file); ``` 要將數據寫入文件,我們使用了`write()`方法。 在這里,當我們運行程序時,`output.txt`文件填充了以下內容。 ```java This is a line of text inside the file. ``` * * * ## `getEncoding()`方法 `getEncoding()`方法可用于獲取用于將數據寫入輸出流的編碼類型。 例如, ```java import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.io.FileOutputStream; class Main { public static void main(String[] args) { try { // Creates an output stream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an output stream reader with default encoding OutputStreamWriter output1 = new OutputStreamWriter(file); // Creates an output stream reader specifying the encoding OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the output stream System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); } catch(Exception e) { e.getStackTrace(); } } } ``` **輸出** ```java The character encoding of output1: Cp1252 The character encoding of output2: UTF8 ``` 在上面的示例中,我們創建了兩個輸出流寫入器,分別名為`output1`和`output2`。 * `output1`未指定字符編碼。 因此,`getEncoding()`方法返回默認字符編碼。 * `output2`指定字符編碼 **UTF8**。 因此,`getEncoding()`方法返回指定的字符編碼。 **注意**:我們已經使用`Charset.forName()`方法來指定字符編碼的類型。 要了解更多信息,請訪問 [Java `Charset`(Java 官方文檔)](https://docs.oracle.com/javase/7/docs/api/java/nio/charset/Charset.html "Java Charset (official Java documentation)")。 * * * ## `close()`方法 要關閉輸出流寫入器,我們可以使用`close()`方法。 調用`close()`方法后,我們將無法使用寫入器來寫入數據。 * * * ## `OutputStreamWriter`其他方法 | 方法 | 描述 | | --- | --- | | `flush()` | 強制將寫入器中存在的所有數據寫入相應的目的地 | | `append()` | 將指定字符插入當前寫入器 | 要了解更多信息,請訪問 [Java `OutputStreamWriter`(Java 官方文檔)](https://docs.oracle.com/javase/7/docs/api/java/io/OutputStreamWriter.html "Java OutputStreamWriter (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>

                              哎呀哎呀视频在线观看