关于对文件内容的复制的几种方法
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 关于文件的复制
*/
public class Demo {
public static void main(String[] args) throws IOException {
FileInputStream fi = new FileInputStream(new File("F:\\heihei\\A.txt"));
FileOutputStream fo = new FileOutputStream(new File("F:\\heihei\\复制后的文件.txt"));
// 创建一个byte数组,长度为文件流读取到的字节的长度
byte[] buf = new byte[fi.available()];
fi.read(buf);
fo.write(buf, 0, buf.length);
// 关闭流
fo.close();
fi.close();
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo1 {
public static void main(String[] args) throws IOException {
BufferedInputStream bi = new BufferedInputStream(new FileInputStream(new File("F:\\heihei\\A.txt")));
BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(new File("F:\\heihei\\复制后的文件.txt")));
// 创建一个byte数组,长度为文件流读取到的字节的长度
byte[] buf = new byte[bi.available()];
bi.read(buf);
bo.write(buf, 0, buf.length);
bo.flush();
// 关闭流
bo.close();
bi.close();
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Demo2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(new File("F:\\heihei\\A.txt")));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("F:\\heihei\\复制后的文件.txt")));
// 创建一个byte数组,长度为文件流读取到的字节的长度
String str;
while ((str = br.readLine()) != null) {
bw.write(str);
bw.flush();
}
// 关闭流
br.close();
bw.close();
long endtime = System.currentTimeMillis();
}
}
可以通过输出当前时间戳来进行3中方法性能的比较