字符流用于操作文字
Writer
write(char[] cbuf) //写一个字符数组
write(char[] cbuf, int off, int len)
write(int c) //写一个字符, 要写入的字符包含在给定整数值的16个低位中; 忽略16个高位
write(String str)
write(String str, int off, int len)
public class Demo_writer {
public static void main(String[] args) throws IOException {
//定义FileWriter括号的append表示是否接着文件里面写,false代表清空之前的内容重新写
FileWriter fw = new FileWriter("D:/1.txt",true);
//FileWriter fw2 = (FileWriter) fw.append("锄禾日当午");
//FileWriter的append方法与定义里的append不同,将指定的字符或字符串追加到此writer
//若定义是append为false,还是清空重写,与调不调用append方法无关
fw.append("锄禾日当午").append(",").append("汗滴禾下土");
//刷新流
fw.flush();
fw.close();
}
}
Reader
read() //读一个字符。
read(char[] cbuf, int off, int len) //将字符读入数组。
public class Demo_reader {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("D:/1.txt");
while(true){
int b = fr.read();
if(b==-1){
break;
}
System.out.print((char)b);
}
fr.close();
}
}
public class Demo_reader {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("D:/1.txt");
char[] chars = new char[100];
int len = fr.read(chars);
System.out.println(new String(chars,0,len));
fr.close();
}
}
两者效果相同