FileWriter:
构造方法:
FileWriter(String fileName); 传入一个文件路径成员方法
FileWriter(String fileName, boolean append): 根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。
其他方法:
void write(String str) 向文件中写入字符串
void flush() 将内存中的数据刷新到文件/硬盘上
void close() 关流释放系统底层资源
写入方法:
void write(String str) 向文件中写入字符串
void write(String str,int index, int len): 写一个字符串中的一部分数据
void write(int ch): 写一个字符数据,这里写int类型的好处是既可以写char类型的数据,也可以写char对应的int类型的值 ‘a’= 97
void write(char[] chs): 写一个字符数组数据
void write(char[][ chs,int index, int len): 写一个字符数组的一部分数据
注意: 换行写入: windows: \r\n linux: \n mac:\r
路径选择:如果用\反斜线则需要写两个\\ , 转义字符,正则表达式
如果用/ 反斜线,只需要写一个即可,
close() 和 flush() 方法区别
flush():刷新缓冲区, 实时写入
close():先刷新缓冲区,然后释放资源
FileReader:
构造方法:
FileReader(String fileName);
其他方法:
int read() 一次读取一个字符,返回的是int类型的字符
int read(char[] char): 一次读取一个字符数组的数据,返回的是实际读取的字符个数
BufferedWriter :
优点:将文本写入字符输出流,缓冲各个字符,从而提供单个字符,数组和字符串的高效写入
构造方法:
BufferedWriter(Writer out): 创建一个使用默认大小输出缓冲区的缓冲字符输出流
BufferedWriter(Writer out, int sz) :
BufferedReader br = new BufferedReader(new FileReader( "FileWriterDemo.java" ));
其他方法:
void newLine(): 写一个换行符, 这个换行符由系统决定
BufferedReader:
从字符输入流中读取文本,缓冲各个字符,从而实现字符,数组和行的高效读取
BufferedReader br = new BufferedReader(new FileReader( "br.txt"));
其他方法:
String readLine(): 一次读取一样数据,但不读取换行符
//缓冲流一次读写一个字符串
public static void method5(String srcFileName,String destFileName) throws IOException {
//创建输入缓冲流对象
BufferedReader br = new BufferedReader(new FileReader(srcFileName));
//创建输出缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));
//一次读写一个字符串
String line;
while((line =br .readLine())!=null){
bw.write( line);
bw.newLine();
bw.flush();
}
//释放资源
bw.close();
br.close();
}
//缓冲流一次读写一个字符数组
public static void method4(String srcFileName,String destFileName) throws IOException {
//创建输入缓冲流对象
BufferedReader br = new BufferedReader(new FileReader(srcFileName));
//创建输出缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));
//一次读写一个字符数组
char[] chs = new char[1024];
int len ;
while((len =br .read(chs ))!=-1) {
bw.write( chs,0, len);
}
//释放资源
bw.close();
br.close();
}
//缓冲流一次读写一个字符
public static void method3(String srcFileName,String destFileName) throws IOException {
//创建输入缓冲流对象
BufferedReader br = new BufferedReader(new FileReader(srcFileName));
//创建输出缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));
//一次读写一个字符
int ch ;
while((ch =br .read())!=-1) {
bw.write( ch);
}
//释放资源
bw.close();
br.close();
}
//基本流一次读写一个字符数组
public static void method2(String srcFileName,String destFileName) throws IOException {
//创建输入流对象
FileReader fr = new FileReader(srcFileName );
//创建输出流对象
FileWriter fw = new FileWriter(destFileName );
//一次读写一个字符数组
char[] chs = new char[1024];
int len ;
while((len =fr .read(chs ))!=-1) {
fw.write( chs,0, len);
}
//释放资源
fw.close();
fr.close();
}
//基本流一次读写一个字符
public static void method1(String srcFileName,String destFileName) throws IOException {
//创建输入流对象
FileReader fr = new FileReader(srcFileName );
//创建输出流对象
FileWriter fw = new FileWriter(destFileName );
//一次读写一个字符
int ch ;
while((ch =fr .read())!=-1) {
fw.write( ch);
}
//释放资源
fw.close();
fr.close();
}
}
网友评论