黑马程序员技术交流社区
标题:
IO流中文件复制问题
[打印本页]
作者:
绝版坏银
时间:
2015-6-23 12:54
标题:
IO流中文件复制问题
package com.itheima_1;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
/*
* 将一个文本文件中的内容复制到另一个文件中
*/
public class Test6 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("b.txt")));
BufferedReader br2 = new BufferedReader(new FileReader("a.txt"));
BufferedWriter bw2 = new BufferedWriter(new FileWriter("b.txt"));
String line = null;
while((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
}
}
复制代码
里面bw 和 bw2写的方式有点不明白。求解释
作者:
图图_黑马
时间:
2015-6-23 16:13
FileOutputStread pos = new FileOutputStream("b.txt");
OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
这三句就等同于 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("b.txt")));
这有什么问题吗?你也可以把这一句拆分开来写,可以看下对应类的API中的构造函数
作者:
天若有晴
时间:
2015-6-23 17:10
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("b.txt")));
1.BufferedWriter( 第一个里面也是Writer类型的,因为转换流是是其子类 )
这个用到了转换流,OutputStreamWriter,转换流的构造参数要用(OutputStream ops),因为FileOutputStream是OutputStream的子类,所以可以作为参数;
BufferedWriter bw2 = new BufferedWriter(new FileWriter("b.txt"));
2.这里就是普通的缓冲流创建方式。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2