黑马程序员技术交流社区
标题:
字符流拷贝数据的三种方法
[打印本页]
作者:
wangjianfeng
时间:
2016-2-23 00:49
标题:
字符流拷贝数据的三种方法
字符流拷贝的第一种推荐方法
FileReader fr = new FileReader( "123.txt");//创建输入流,关联文件
FileWriter fw = new FileWriter("456.txt" );//创建输入流,关联文件
char [] arr = new char [1024*8]; //创建char数组,并定义大小
int len ;
while ((len = fr.read())!= -1) { //将数据存储到字符数组中
fw.write(arr, 0, len) ; //将字符数组里的数据写到文件上
}
fr.close(); //关流释放资源
fw.close();
字符流拷贝的第二种推荐方法
BufferedReader br = new BufferedReader( new FileReader("123.txt" ));//创建带缓冲输入流,关联文件
BufferedWriter bw = new BufferedWriter(new FileWriter("345.txt" ));//创建带缓冲输出流,关联文件
int c ;
while ((c = br.read())!= -1) { //读取数据
bw.write(c); //写出数去
}
br.close(); //关流
bw.close();
字符流拷贝的第三种方法,也是字符流拷贝的一种特殊方法
注意:
* BufferedReader的readLine()方法可以读取一行字符(不包含换行符号)
* BufferedWriter的newLine()可以输出一个跨平台的换行符号"\r\n"
所以一旦使用这种方法,这两者都是成对出现,一起使用,而且newLine方法是跨平台的
BufferedReader br = new BufferedReader( new FileReader("123.txt" ));
BufferedWriter bw = new BufferedWriter(new FileWriter("456.txt" ));
String line ;
while((line = br.readLine())!= null ) {//将字符串整行读出,遇到null则停止读取
bw.write(line);
bw.newLine(); //注意:由于整行读取不能读取回车换行符,需要在这里加入回车换行符
}
br.close();
bw.close();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2