想要查看此教程的目录请点击:Java IO教程目录贴地址
Java FileWriter类(java.io.FileWriter)可以基于字符去将数据写到文件。再这方面他更像FileOutputStream,但FileOutputStream 时基于字节的,FileWriter是基于字符的。换句话说FileWriter 的意图是去写文本。一个字符可能对于一个或多个字节,这取决于使用的字符集。
FileWriter 例子
下面是关于FileWriter的一个简单例子:
Writer fileWriter = new FileWriter("data\\filewriter.txt");
fileWriter.write("data 1");
fileWriter.write("data 2");
fileWriter.write("data 3");
fileWriter.close();
注意:上面为了简介省略了必要的异常处理。想要学习更多关于异常处理的内容,可以参开章节“Java IO Exception Handling”。
FileWriter也有其他的构造方法,让你能够指定不同的方法去写入文件。参考Java官方文档来获取更多内容。
覆盖文件 vs 向文件追加内容
当你创建了一个FileWriter,你可以决定是覆盖文件还是向已存在的文件追加内容。这是根据你选用的构造方法来决定的。
刚刚讨论的构造方法只有一个参数:文件的名称,这会覆盖已经存在的文件:
Writer fileWriter = new FileWriter("c:\\data\\output.txt");
FileWriter也有两个参数的构造方法:文件名称和一个布尔值。布尔值表名是覆盖文件还是向文件追加内容。下面是两个相关的例子:
Writer fileWriter = new FileWriter("c:\\data\\output.txt", true); //appends to file
Writer fileWriter = new FileWriter("c:\\data\\output.txt", false); //overwrites file
FileWriter字符编码
FileWriter是假设你想以操作系统默认的编码将字节写入文件中。这不一定是你想要的,并且你不能改变这个。
如果你想指定一个不同的字符集,那么不要使用FileWriter。在FileOutputStream上使用OutputStreamWriter吧。OutputStreamWriter在写入文件的时候可以让你指定字符集。
关闭FileWriter
此章节内容和其他章节内容一致