黑马程序员技术交流社区
标题:
复制粘贴功能的实现
[打印本页]
作者:
我本灬无名
时间:
2015-6-8 23:06
标题:
复制粘贴功能的实现
老规矩,拿走评论。
求给个技术分,哇。伤脑子的东西。。
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 Test5 {
public static void main(String[] args) throws IOException {
// 封装读取对象
File file = new File("F:\\java");
// 创建写入对象
File file2 = new File("F:\\ja");
copyFile(file, file2);
}
private static void copyFile(File yuan, File mu) throws IOException{
if(yuan!=null){
//判断传进来的源文件是不是文件夹
if(yuan.isDirectory()){
//是文件夹,那么判断目标目录是否存在,不存在就创建
if(!mu.exists()){
mu.mkdir();
}
//获取文件下所有对象名
String [] files =yuan.list();
//遍历
for(String f :files){
//递归并创建新的yuan,mu对象
File yuanFile = new File(yuan,f);
File muFile =new File(mu,f);
copyFile(yuanFile,muFile);
}
//不是文件夹就是文件
}else{
//创建读写对象,将原文件内容读取到目标文件。保证能读取所有文件,使用高效字节流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(yuan));
BufferedOutputStream bos =new BufferedOutputStream(new FileOutputStream(mu));
//基本做法,数组
byte[] bys =new byte[1024];
int len =0;
while((len =bis.read(bys))!=-1){
bos.write(bys,0,len);
bos.flush();
}
bos.close();
bis.close();
}
}}
}
复制代码
作者:
LANC
时间:
2015-6-8 23:13
谢楼主,拿走了~!
作者:
黑马:二师兄
时间:
2015-6-8 23:17
顶一个!
作者:
我本灬无名
时间:
2015-6-8 23:19
黑马:二师兄 发表于 2015-6-8 23:17
顶一个!
1个币,峰哥。我醉了
作者:
黑马:二师兄
时间:
2015-6-8 23:23
我本灬无名 发表于 2015-6-8 23:19
1个币,峰哥。我醉了
量不在多,在于质!
作者:
我本灬无名
时间:
2015-6-9 21:20
为成为高级黑马而奋斗
作者:
付欢
时间:
2015-6-9 21:32
看起来很厉害的样子啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2