黑马程序员技术交流社区
标题:
IO流复制文件的9种方法总结---代码实现
[打印本页]
作者:
small_horse
时间:
2015-8-25 01:13
标题:
IO流复制文件的9种方法总结---代码实现
//完成复制文件的9种方法
public class Demo1 {
public static void main(String[] args) throws IOException {
//比较一下以下几种复制文件的方法的耗时
long before = System.currentTimeMillis();
// method1();
// method2();
// method3();
// method4();
// method5();
// method6();
// method7();
// method8();
method9();
long after = System.currentTimeMillis();
System.out.println(after - before);
}
//基本字节流一次复制一个字节
private static void method1() throws IOException {
FileInputStream fis = new FileInputStream("a.txt");
FileOutputStream fos = new FileOutputStream("b.txt");
int b;
while ((b = fis.read()) != -1) {
fos.write(b);
}
fis.close();
fos.close();
}
//基本字节流一次复制一个字节数组
private static void method2() throws IOException {
FileInputStream fis = new FileInputStream("a.txt");
FileOutputStream fos = new FileOutputStream("b.txt");
int len;
byte[] bytes = new byte[1024];
while ((len = fis.read()) != -1) {
fos.write(bytes, 0, len);
}
fis.close();
fos.close();
}
//高效字节流一次复制一个字节
private static void method3() throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
"a.txt"));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream("b.txt"));
int b;
while ((b = bis.read()) != -1) {
bos.write(b);
}
bis.close();
bos.close();
}
//高效字节流一次复制一个字节数组
private static void method4() throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
"a.txt"));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream("b.txt"));
int len;
byte[] bytes = new byte[1024];
while ((len = bis.read(bytes)) != -1) {
bos.write(bytes, 0, len);
}
bis.close();
bos.close();
}
//基本字符流一次复制一个字节
private static void method5() throws IOException {
FileReader fr = new FileReader("a.txt");
FileWriter fw = new FileWriter("b.txt");
int b;
while ((b = fr.read()) != -1) {
fw.write(b);
}
fr.close();
fw.close();
}
//基本字符流一次复制一个字节数组
private static void method6() throws IOException {
FileReader fr = new FileReader("a.txt");
FileWriter fw = new FileWriter("b.txt");
int len;
char[] chars = new char[1024];
while ((len = fr.read(chars)) != -1) {
fw.write(chars, 0, len);
}
fr.close();
fw.close();
}
//高效字符流一次复制一个字节
private static void method7() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
int b;
while ((b = br.read()) != -1) {
bw.write(b);
}
br.close();
bw.close();
}
//高效字符流一次复制一个字符数组
private static void method8() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
int len;
char[] chars = new char[1024];
while ((len = br.read(chars)) != -1) {
bw.write(chars, 0, len);
}
br.close();
bw.close();
}
//高效字符流一次复制一行
private static void method9() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
br.close();
bw.close();
}
}
作者:
肚小糖
时间:
2015-8-25 08:46
很好很强大!
作者:
vipsong
时间:
2015-8-25 09:18
总结很全面
作者:
q370349954
时间:
2015-8-25 09:21
总结很重要。。。
作者:
myself123
时间:
2015-8-25 10:19
楼主牛人啊,mark一下
作者:
三分之一
时间:
2015-8-25 14:52
楼主太强大了,向你学习
作者:
痴人说梦
时间:
2015-8-25 15:07
总结的很好···
作者:
星语千寻
时间:
2015-8-25 15:15
很好很厉害。。。。
作者:
T-l-H、小生
时间:
2015-8-25 15:54
溜溜溜溜~~~
作者:
风华正茂
时间:
2015-8-25 16:04
楼主总结得不错。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2