FileWriter字符输出流
Writer:
write(int ch)
write(char[] chs)
write(char[] chs,int start,int end)
write(String s)
write(String s,int start,int end)
flush():刷新缓冲区
close():刷新缓冲区,并关闭流对象。
功能:向文件中写入内容。
步骤:
A:创建字符输出流对象
FileWriter fw = new FileWriter("a.txt");
B:写入数据
fw.write("hello");
C:关闭流
fw.close();
注意的问题:
A:流的操作会抛异常的。
B:如何追加数据,而不是覆盖数据呢?
是在构造中,传入第二个参数。表示是否追加
FileWriter fw = new FileWriter("a.txt",true);
C:如果换行呢?
Windows识别的换行是:\r\n
FileReader字符输入流
Reader:
read():返回一个字符
read(char[] chs):将字符读取到一个字符数组中,返回实际读取的元素个数。
功能:从文件中读取数据,并输出到控制台。
步骤:
A:创建输入流对象
FileReader fr = new FileReader("a.txt");
B:通过输入流对象读取数据
//int ch = fr.read();读取一个字符
//第一种读取方式
//为了读取多个,我们用循环改进
int ch = 0;
while((ch=fr.read())!=-1)
{
System.out.print((char)ch);
}
//第二种读取方式
char[] chs = new char[1024]; //这个地方长度不好确定,但是,一般一1k为一个基本单位。
int len = 0;
while((len=fr.read(chs))!=-1)
{
System.out.print(new String(chs,0,len));
}
C:关闭输入流对象 |