FileWriter常用方法
- new FileWriter(File/String):覆盖模式,相当于流的指针在首端
- new FileWriter(File/String,true):追加模式,相当于流的指针在尾端
- write(int):写入单个字符
- write(char[]):写入指定数组
- write(char[],off,len):写入指定数组的指定部分
- write (string):写入整个字符串
- write(string,off,len):写入字符串的指定部分
相关API:
- String类:toCharArray:将String转换成char[]
注意:
FileWriter使用后,必须要关闭(close)或刷新(flush),否则写入不到指定的文件!
package test;import java.io.FileWriter;import java.io.IOException;public class Main {public static void main(String[] args) {String filePath = "D:\\a.txt";//创建FileWriter对象FileWriter fileWriter = null;char[] chars = {'W', 'T', 'Y'};try {fileWriter = new FileWriter(filePath);//默认是覆盖写入// 3) write(int):写入单个字符fileWriter.write('H');// 4) write(char[]):写入指定数组fileWriter.write(chars);// 5) write(char[],off,len):写入指定数组的指定部分fileWriter.write("WTY2002".toCharArray(), 0, 3);// 6) write(string):写入整个字符串fileWriter.write("Keep");// 7) write(string,off,len):写入字符串的指定部分fileWriter.write("Once", 0, 2);//在数据量大的情况下,可以使用循环操作.} catch (IOException e) {e.printStackTrace();} finally {//对应FileWriter , 一定要关闭流,或者flush才能真正的把数据写入到文件try {//fileWriter.flush();//关闭文件流,等价 flush() + 关闭fileWriter.close();} catch (IOException e) {e.printStackTrace();}}System.out.println("程序结束...");}}


此处为何任然是追加写法?
覆盖写法是要在关闭流之后,然后打开,再次写入时产生的效果!
案例:
将“别像个轰种似的愁眉苦脸,甭管你被打倒了多少次,拍拍身上的尘土,再笑着站起来吧,再笑着投入战斗。”写入到文件D:\a.txt文件中。
package test;import java.io.FileWriter;import java.io.IOException;public class Main {public static void main(String[] args) {String filePath = "D:\\a.txt";//创建FileWriter对象FileWriter fileWriter = null;try {fileWriter = new FileWriter(filePath);//默认是覆盖写入//write(string):写入整个字符串fileWriter.write("别像个轰种似的愁眉苦脸,甭管你被打倒了多少次,拍拍身上的尘土,再笑着站起来吧,再笑着投入战斗。");} catch (IOException e) {e.printStackTrace();} finally {//对应FileWriter , 一定要关闭流,或者flush才能真正的把数据写入到文件try {//fileWriter.flush();//关闭文件流,等价 flush() + 关闭fileWriter.close();} catch (IOException e) {e.printStackTrace();}}System.out.println("程序结束...");}}


