黑马程序员技术交流社区
标题:
关于IO流复制文件的四种方法(黑马考试)
[打印本页]
作者:
狂飙的yellow.co
时间:
2013-5-31 19:26
标题:
关于IO流复制文件的四种方法(黑马考试)
本帖最后由 狂飙的yellow.co 于 2013-6-1 19:30 编辑
我对于IO流复制文件,总结了四种方法
1.第一种复制方法,使用自定义的缓冲区
public static void copyfile_1() throws IOException{//抛出异常
//其中file的 \\是转义字符
FileInputStream in = new FileInputStream("E:\\yellowcong.txt");//输入流
FileOutputStream out = new FileOutputStream("E:\\heima.txt");//输出流
//自定义缓冲区
byte [] buf = new byte[1024];
int len = 0;//用于判断是否写入完成的标记
//多次的重复读写数据
while((len = in.read(buf))!= -1){//读取数据,写入缓冲区
out.write(buf, 0, len); // 写出数据
}
//关闭资源
out.close();
in.close();
}
复制代码
第二种方法 使用java提供的缓冲区,这种方法的效率高一点
’
public static void copyfile_2() throws IOException {
// TODO Auto-generated method stub
//读取数据的缓冲区
BufferedInputStream in = new BufferedInputStream(new FileInputStream("E:\\yellowcong.txt"));
//写数据的缓冲区
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("E:\\heima.txt"));
int ch = 0;//其中这个ch 不是用来标记的,而是来写的
while((ch = in.read())!= -1){
out.write(ch);
}
//关闭资源
in.close();
out.close();
}
复制代码
第三种方法:使用 aviable() 获取数据的大小,然后定义和复制的文件一样大的缓冲区
public static void copyfile_3() throws IOException{//抛出异常
//其中file的 \\是转义字符
FileInputStream in = new FileInputStream("E:\\yellowcong.txt");//输入流
FileOutputStream out = new FileOutputStream("E:\\heima.txt");//输出流
//自定义缓冲区
byte [] buf = new byte[in.available()];
in.read(buf);
out.write(buf);
//关闭资源
out.close();
in.close();
}
复制代码
第四中方法 不用缓冲区的方法
public static void copyfile_4() throws IOException{//抛出异常
//其中file的 \\是转义字符
FileInputStream in = new FileInputStream("E:\\yellowcong.txt");//输入流
FileOutputStream out = new FileOutputStream("E:\\heima.txt");//输出流
int ch = 0;//用于读写, 读一个写一个,速度是很慢
//多次的重复读写数据
while((ch = in.read())!= -1){//读取数据,写入缓冲区
out.write(ch); // 写出数据
}
//关闭资源
out.close();
in.close();
}
复制代码
作者:
狂飙的yellow.co
时间:
2013-5-31 20:06
心都碎了,居然没有一个人来看一下。。。。。。。。
作者:
狂飙的yellow.co
时间:
2013-5-31 20:07
我看还是的顶一下啊
作者:
爱在转角
时间:
2013-5-31 20:10
童鞋,这个比较的全面
作者:
爱在转角
时间:
2013-5-31 20:11
狂飙的yellow.co 发表于 2013-5-31 20:07
我看还是的顶一下啊
童鞋,我看的顶你一下,不然你会崩溃的
作者:
我是黑马的
时间:
2013-5-31 20:14
我看行,这个真还是可以的
作者:
小羽天空
时间:
2013-5-31 20:16
辛苦了,顶一个
作者:
穆爱明
时间:
2013-7-8 20:49
学习一下,感谢分享!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2