FileReader 字符输入流,从文件中读取,是一个字符一个字符的读取,但是只能读取纯文本内容,当读取一段视频的时候很有可能出错,因为每读一次只读取16位的,如果读取完毕之后剩下一个位没有读取,那么肯定会出现乱码问题。
FileReader fr=new FileReader("c:\\11.txt");
int hasRead=0;
char[] c=new char[32];
while((hasRead=fr.read(c))!=-1){
String ss=new String(c,0,hasRead);
System.out.println(ss);
}
fr.close();
这里有一个字符数组,像字节流一样定义一个舀水的工具,这个大小一般的是2的多少次方或者说是一个偶数就可以。
FileWriter 字符输出流往文件中输出东西。一个字符一个字符的写出去,
FileWriter fw=new FileWriter("c:\\11.txt",true);
String s="庄生晓梦迷蝴蝶,望帝春心托杜鹃";
fw.write(s);
fw.flush();
fw.close();
这里往文件11.txt中写入字符串s,字符流写的是一个char类型的参数,String类型就是一个一个的char字符组成的,所以不用转成byte类型,这里注意在构建这么一个输出流的时候括号里面有两个参数,一个是文件的地址,要往哪个文件中去写,另一个是boolean类型的参数,这个参数表示是否以追加的模式去写,如果不是追加,则每次写入的东西都会覆盖原来的,写上true之后,就不会覆盖。
另外如果我们往文件用字符流写,还可以用printwriter这个类来写,
PrintWriter pw=new PrintWriter("c:\\11.txt");
pw.println("大江东去浪淘尽");
pw.println("千古风流人物");
pw.flush();
这种方式想怎么写就可以,而且还有c语言中那种printf方法的东西。