try {
char[] b = new char[100];
FileReader fileReader = new FileReader (new File("a.txt"));
FileWriter fileWriter = new FileWriter(new File("b.txt"));
int len;
do{
len = fileReader.read(b);
if (len != -1){
//fileOutputStream.write(b);
fileWriter.write(b);
fileWriter.flush();
System.out.println(new String(b,0,len));
}
}while (len != -1);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
会先写入缓冲区,需要刷新使信息传入文件,close ( )关系流前会刷新缓冲区,下为其他写入方式。
fileWriter.write(97);
//fileWriter.flush();
fileWriter.write("你好");
//fileWriter.flush();
fileWriter.write("你好,请问你也爱学Java吗?",3,12);
fileWriter.flush();
可以一次刷新也可以多次刷新。
换行写法:
fileWriter.write("你好"+"\r\n");
BufferedWriter
不能使用字节数组作为参数,但是可以通过字符串的构造方法转化为字符串并将字符串作为参数。
bufferedWriter.write(new String("哈哈".getBytes()));
下面是具体使用示例:
BufferedWriter bufferedWriter =
new BufferedWriter(new FileWriter(new File("b.txt")));
int len;
bufferedWriter.write("哈哈");
bufferedWriter.flush();
换行
bufferedWriter.newLine();