根据代码来说话
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Scanner;
import org.apache.commons.io.FileUtils;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Text;
public class CharRWStreamTest01 {
public static void main(String[] args) {
long startTime=System.currentTimeMillis();
try {
BufferedReader br=new BufferedReader(
new InputStreamReader(
new FileInputStream("123.rar")));
BufferedWriter bw=new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("125.rar")));
String s;
while((s=br.readLine())!=null){
bw.write(s);
bw.write("\n");
}
bw.flush();
bw.close();
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
long endTIme=System.currentTimeMillis();
System.out.println("it taste "+(endTIme-startTime)+"ms~");
/*以上一段是用缓冲字符流,我copy的是一个566mb的文件,耗时27936ms
*由于我选的是.rar文件,字符流复制的结果会有损坏,编码不同,
*所以应该用字节流来复制,适当的改改就好,
*可以多包一层datainputstream,读入写出更方便。
*/
// long startTime=System.currentTimeMillis();
// FileUtils fileUtils=new FileUtils();
// try {
// fileUtils.copyFile(new File("123.rar"),new File("124.rar"));
// } catch (IOException e) {
// e.printStackTrace();
// }
// long endTIme=System.currentTimeMillis();
// System.out.println("it taste "+(endTIme-startTime)+"ms~");
/*以上被注释的一段使用了fileutils的工具包,可以看出来复制文件非常简单
*apache.org网站上可以找到commoms.io包,下载后buildpath到工程
*/
}
}