企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Java – 附加到文件 > 原文: [https://howtodoinjava.com/java/io/java-append-to-file/](https://howtodoinjava.com/java/io/java-append-to-file/) 使用`BufferedWritter`,`PrintWriter`,`FileOutputStream`和`Files`类学习**将内容追加到 Java** 中的文件。 在所有示例中,在打开要写入的文件时,您都传递了第二个参数`true`,该参数表示以**附加模式**打开了文件。 ```java Table of Contents Append to File using BufferedWritter Append to File using PrintWriter Append to File using FileOutputStream Append to File using Files class ``` ## 使用`BufferedWritter`附加到文件 `BufferedWritter`会在写入之前进行缓冲,因此会减少**的 IO 操作**的数量,从而提高性能。 要将内容附加到现有文件,请通过将第二个参数传递为`true`,以附加模式打开文件编写器。 ```java public static void usingBufferedWritter() throws IOException { String textToAppend = "Happy Learning !!"; BufferedWriter writer = new BufferedWriter( new FileWriter("c:/temp/samplefile.txt", true) //Set true for append mode ); writer.newLine(); //Add new line writer.write(textToAppend); writer.close(); } ``` ## 使用`PrintWriter`附加到文件 使用[`PrintWriter`](https://docs.oracle.com/javase/10/docs/api/java/io/PrintWriter.html)将格式化的文本写入文件。 此类实现`PrintStream`中提供的所有打印方法,因此您可以使用`System.out.println()`语句使用的所有格式。 要将内容追加到现有文件中,请通过将第二个参数传递为`true`来以追加模式打开文件编写器。 ```java public static void usingPrintWriter() throws IOException { String textToAppend = "Happy Learning !!"; FileWriter fileWriter = new FileWriter("c:/temp/samplefile.txt", true); //Set true for append mode PrintWriter printWriter = new PrintWriter(fileWriter); printWriter.println(textToAppend); //New line printWriter.close(); } ``` ## 使用`FileOutputStream`附加到文件 使用[`FileOutputStream`](https://docs.oracle.com/javase/10/docs/api/java/io/FileOutputStream.html)**将二进制数据写入文件**。 `FileOutputStream`用于写入原始字节流,例如图像数据。 要编写字符流,请考虑使用`FileWriter`。 要将内容追加到现有文件中,请通过将第二个参数作为`true`传递,以追加模式打开`FileOutputStream`。 ```java public static void usingFileOutputStream() throws IOException { String textToAppend = "\r\n Happy Learning !!"; //new line in content FileOutputStream outputStream = new FileOutputStream("c:/temp/samplefile.txt", true); byte[] strToBytes = textToAppend.getBytes(); outputStream.write(strToBytes); outputStream.close(); } ``` ## 使用`Files`类附加到文件 使用`Files`类,我们可以使用`write`函数编写文件,在内部使用`OutputStream`将字节数组写入文件。 要将内容追加到现有文件中,请在写入内容时使用`StandardOpenOption.APPEND`。 ```java public static void usingPath() throws IOException { String textToAppend = "\r\n Happy Learning !!"; //new line in content Path path = Paths.get("c:/temp/samplefile.txt"); Files.write(path, textToAppend.getBytes(), StandardOpenOption.APPEND); //Append mode } ``` 学习愉快!