Writer类讲解FileWriter类、BufferedWriter类、OutputStreamWriter类
Writer类 之 FileWriter类:文件字符输出流
try {
Writer fw = new FileWriter("F:\\WriterDemo.txt");
// Writer fw = new FileWriter("F:\\WriterDemo.txt", true);
fw.write("hello");
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
/*
解释:
1、FileWriter类的参数
- 和之前的OutputStream类一样,这里有两个参数
- 第一个参数可以是文件路径也可以是文件对象
- 第二个参数为false,重新对文件写入,文件原有内容被清空,不加第二个参数默认为false
- 第二个参数为true,在文件内容原有基础上写入
2、write
- 这里的writer方法要和字节流的writer方法区别
- 字符流的writer方法参数为String类型的字符串write(String str)
- 字节流的writer方法参数为byte类型的数组write(byte b[])
*/
Writer类 之 BufferedWriter类:带缓冲的字符输出流
try {
Writer fw = new FileWriter("F:\\WriterDemo.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write("hello hello");
bw.flush(); // 养成writer后使用flush()的习惯
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
Writer类 之 OutputStreamWriter类:字节字符输出转换流
// 字节字符输出转换流是将字节流转换为字符流
try {
OutputStream os = new FileOutputStream("F:\\WriterDemo.txt");
OutputStreamWriter osw = new OutputStreamWriter(os); // 这一步将字节流转换为字符流
BufferedWriter bw = new BufferedWriter(osw);
bw.write("nice to meet you");
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}