Java FileWriter 教程显示了如何使用FileWriter
类将文本写入 Java 文件。 请注意,FileWriter
有一个严重的限制:它使用默认编码,并且不允许我们显式指定编码。
Java FileWriter
FileWriter
是 Java 便利类,用于将文本数据写入文件。 FileWriter
扩展了OutputStreamWriter
并创建了FileOutputStream
。
Java FileWriter
构造函数
这些是FileWriter
构造函数:
FileWriter(File file)
—将FileWriter
构造为File
对象。FileWriter(File file, boolean append)
-将FileWriter
对象构造为File
对象; 允许追加模式。FileWriter(FileDescriptor fd)
-将FileWriter
构造为FileDescriptor
。FileWriter(String fileName)
-将FileWriter
构造为文件名。FileWriter(String fileName, boolean append)
-将FileWriter
对象构造为文件名; 允许追加模式。
Java FileWriter
写入文件
使用FileInputStream
和FileOutputStream
,我们创建用于读取和写入File
的流。 找不到文件时,将引发FileNotFoundException
。 File
是 Java 中文件或目录的表示。
JavaFileWriterEx.java
该示例使用FileWriter
将文本数据写入文件。
FileWriter
构造函数采用字符串作为参数; 它是我们写入的文件名。 完成编写后,我们使用 try-with-resources 构造来清理资源。
FileWriter's
write()
方法将文本写入文件。
Java FileWriter
追加到文件
使用FileWriter
可以将文本追加到文件中。 追加的典型用法是日志记录。
JavaFileWritterAppend.java
该代码示例将文本追加到文件。
FileWriter
的第二个参数告诉我们将附加到文件中。
使用BufferedWriter
的FileWriter
BufferedWriter
可以提高FileWriter's
性能。 BufferedWriter
将文本写入字符输出流,缓冲字符以提高写入单个字符,数组和字符串的性能。 可以指定缓冲区大小,也可以接受默认大小; 默认值对于大多数用途来说足够大。
JavaFileWriterBuffered.java
在示例中,我们阅读了 Wikipedia 的主页(其 HTML 代码)并将其写入文件。 主页足够大以考虑缓冲。
FileWriter
作为参数传递给BufferedWriter
。 然后,我们调用BufferedWriter's
write()
方法来编写文本。
读取操作也通过BufferedReader
类进行缓冲。
指定编码
FileWriter
使用默认编码,并且不允许我们显式指定编码。 如果必须设置编码,则可以使用OutputStreamWriter
和FileOutputStream
。
JavaFileOutputStreamEx.java
该示例使用OutputStreamWriter
将文本写入文件。 第二个参数是要使用的字符集。
在本教程中,我们介绍了 Java FileWriter
类。