<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 – 寫入文件 > 原文: [https://howtodoinjava.com/java/io/java-write-to-file/](https://howtodoinjava.com/java/io/java-write-to-file/) 在企業應用程序上工作時,有時需要**用 Java** 寫文件。 在文件系統中編寫報告。 盡管有多種方法可以做到這一點,但讓我們快速瀏覽其中的幾種方法以在需要時快速參考。 ```java Table of Contents Write File using BufferedWritter Write File using FileWriter/PrintWriter Write File using FileOutputStream Write File using DataOutputStream Write File using FileChannel Write File using Java 7 Path ``` ## 使用`BufferedWritter`寫入文件 [`BufferedWritter`](https://docs.oracle.com/javase/10/docs/api/java/io/BufferedWriter.html)將內容寫入文件的最簡單方法。 它將文本寫入字符輸出流,**緩沖字符**,以便有效地寫入單個字符,數組和字符串。 除非需要快速輸出,否則建議將`BufferedWriter`包裹在其`write()`操作可能成本很高的`Writer`周圍,例如`FileWriter`和`OutputStreamWriter`。 由于它在寫入之前進行緩沖,因此它減少了**的 IO 操作**,因此提高了性能。 ```java public static void usingBufferedWritter() throws IOException { String fileContent = "Hello Learner !! Welcome to howtodoinjava.com."; BufferedWriter writer = new BufferedWriter(new FileWriter("c:/temp/samplefile1.txt")); writer.write(fileContent); writer.close(); } ``` ## 使用`FileWriter`/`PrintWriter`寫入文件 [`FileWriter`](https://docs.oracle.com/javase/10/docs/api/java/io/FileWriter.html)最干凈的文件寫入方式。 語法是自我解釋的,易于閱讀和理解。 `FileWriter`直接寫入文件(*性能較差*),并且僅在寫入次數較少時才應使用。 ```java public static void usingFileWriter() throws IOException { String fileContent = "Hello Learner !! Welcome to howtodoinjava.com."; FileWriter fileWriter = new FileWriter("c:/temp/samplefile2.txt"); fileWriter.write(fileContent); fileWriter.close(); } ``` 使用[`PrintWriter`](https://docs.oracle.com/javase/10/docs/api/java/io/PrintWriter.html)將格式化的文本寫入文件。 此類實現`PrintStream`中提供的所有打印方法,因此您可以使用`System.out.println()`語句使用的所有格式。 ```java public static void usingPrintWriter() throws IOException { String fileContent = "Hello Learner !! Welcome to howtodoinjava.com."; FileWriter fileWriter = new FileWriter("c:/temp/samplefile3.txt"); PrintWriter printWriter = new PrintWriter(fileWriter); printWriter.print(fileContent); printWriter.printf("Blog name is %s", "howtodoinjava.com"); printWriter.close(); } ``` ## 使用`FileOutputStream`寫入文件 使用[`FileOutputStream`](https://docs.oracle.com/javase/10/docs/api/java/io/FileOutputStream.html)**將二進制數據寫入文件**。 `FileOutputStream`用于寫入原始字節流,例如圖像數據。 要編寫字符流,請考慮使用`FileWriter`。 ```java public static void usingFileOutputStream() throws IOException { String fileContent = "Hello Learner !! Welcome to howtodoinjava.com."; FileOutputStream outputStream = new FileOutputStream("c:/temp/samplefile4.txt"); byte[] strToBytes = fileContent.getBytes(); outputStream.write(strToBytes); outputStream.close(); } ``` ## 使用`DataOutputStream`寫入文件 [`DataOutputStream`](https://docs.oracle.com/javase/10/docs/api/java/io/DataOutputStream.html)允許應用程序**以可移植的方式將原始 Java 數據類型**寫入輸出流。 然后,應用程序可以使用數據輸入流來讀回數據。 ```java public static void usingDataOutputStream() throws IOException { String fileContent = "Hello Learner !! Welcome to howtodoinjava.com."; FileOutputStream outputStream = new FileOutputStream("c:/temp/samplefile5.txt"); DataOutputStream dataOutStream = new DataOutputStream(new BufferedOutputStream(outputStream)); dataOutStream.writeUTF(fileContent); dataOutStream.close(); } ``` ## 使用`FileChannel`寫入文件 [`FileChannel`](https://docs.oracle.com/javase/10/docs/api/java/nio/channels/FileChannel.html)可用于讀取,寫入,映射和操作文件。 如果要處理大文件,`FileChannel`可能比標準 IO 更快。 文件通道可以安全地供多個并發線程使用。 ```java public static void usingFileChannel() throws IOException { String fileContent = "Hello Learner !! Welcome to howtodoinjava.com."; RandomAccessFile stream = new RandomAccessFile("c:/temp/samplefile6.txt", "rw"); FileChannel channel = stream.getChannel(); byte[] strBytes = fileContent.getBytes(); ByteBuffer buffer = ByteBuffer.allocate(strBytes.length); buffer.put(strBytes); buffer.flip(); channel.write(buffer); stream.close(); channel.close(); } ``` ## 使用 Java 7 路徑寫入文件 Java 7 引入了`Files`工具類,我們可以使用其`write`函數來編寫文件,而在內部,它是使用`OutputStream`將字節數組寫入文件中的。 ```java public static void usingPath() throws IOException { String fileContent = "Hello Learner !! Welcome to howtodoinjava.com."; Path path = Paths.get("c:/temp/samplefile7.txt"); Files.write(path, fileContent.getBytes()); } ``` ## 總結 1. 如果我們嘗試寫入不存在的文件,則將首先創建該文件,并且不會引發任何異常(使用`Path`方法除外)。 2. 寫入文件內容以釋放所有資源后,請始終關閉輸出流。 它還將有助于避免損壞文件。 3. 用途`PrintWriter`用于寫入格式化的文本。 4. 用`FileOutputStream`寫入二進制數據。 5. 使用`DataOutputStream`寫入原始數據類型。 6. 使用`FileChannel`寫入較大的文件。 學習愉快!
                  <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>

                              哎呀哎呀视频在线观看