IO流概念
IO流用来处理设备之间的数据传输
FileWriter类
//构造方法:
FileWriter(String fileName, boolean append);//第二个参数为true时为追加写入
/** 创建输出流对象做了哪些事情:
* A:调用系统资源创建了一个文件
* B:创建输出流对象
* C:把输出流对象指向文件
*/
//成员方法:
//把字符写入缓冲区
void write(String str)
void write(String str,int index,int len)
void wirte(int ch)
void write(char[] chs)
void write(char[] chs,int index,int len)
//把缓冲区字符写入文件
void flush()
//释放资源
void close()
//示例:
FileWriter fw=new FileWriter("aa.txt",true);
fw.write("hello\r\n");//\r\n是windows系统的换行符
fw.write(97);
fw.close();
FileReader类
//构造方法:
FileWriter(String fileName);
//成员方法:
int read()
int read(char[] cbuf)//一次读取一个字符数组的数据,返回的是实际读取的字符个数
//示例:
//一次读取一个字符:
FileReader fr = new FileReader("FileWriterDemo.java");
int ch;
while ((ch = fr.read()) != -1) {
System.out.print((char) ch);
}
fr.close();
//一次读取一个字符数组的数据:
FileReader fr = new FileReader("FileWriterDemo.java");
char[] chs = new char[1024]; //这里可以是1024及其整数倍
int len;
while((len=fr.read(chs))!=-1) {
System.out.print(new String(chs,0,len));
}
fr.close();
BufferedWriter
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入
BufferedWriter bw = new BufferedWriter(new FileWriter("bw2.txt"));
for(int x=0; x<10; x++) {
bw.write("hello"+x);
bw.newLine();//相当于bw.write("\r\n");
bw.flush();
}
bw.close();
BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
BufferedReader br = new BufferedReader(new FileReader("br.txt"));
while((line=br.readLine())!=null) {
System.out.println(line);
}
br.close();