黑马程序员技术交流社区
标题:
文件夹操作
[打印本页]
作者:
YRDHelloworld
时间:
2015-7-2 22:28
标题:
文件夹操作
求一个复制文件夹的具体步骤 我写的递归没复制成功 不知道哪里出错了
作者:
shuaiqi_P_D
时间:
2015-7-2 22:28
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* 文件夹复制
*/
public class CopyAllFile {
public static void main(String[] args) throws Exception {
//封装源文件夹目录
File fromFile = new File("F:\\eclipse_0613");
//封装目的地目录
File toFile = new File("d:\\copp");
CopyAllFile.copys(fromFile, toFile);
}
public static void copys(File fromFile, File toFile) throws Exception{
if(fromFile != null && toFile != null) {
//创建源文件夹File数组
File[] files =fromFile.listFiles();
//遍历files 获取每一个file
for(File f : files){
//获取f的文件名
String s = f.getName();
//封装目的地文件名称
File newFile = new File(toFile, s);
//判断是文件还是文件夹
if(f.isDirectory()){ //如果f 是文件夹
newFile.mkdirs(); //创建新的文件夹
copys(f,newFile);//递归
}else {
//如果是文件 则开始复制
//创建字节输入流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));
//创建字节输出流
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile));
//定义一个字节数组
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();
}
}
}
}
}
复制代码
妹纸。黑马币给我。。。
作者:
陈旭刚520
时间:
2015-7-2 23:02
Ctrl+c Ctrl+v 嘿嘿 源码发出来 看看
作者:
德艺双馨
时间:
2015-7-2 23:11
源码发出来看看呀
作者:
y137123606
时间:
2015-7-2 23:13
我觉得你可以文件另存一个试试。
作者:
shuaiqi_P_D
时间:
2015-7-3 00:12
把你的代码贴出来瞧瞧
作者:
wsdlshu
时间:
2015-7-3 12:10
妹子!!!给币啊~~~:'(
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyDemo {
public static void main(String[] args) throws IOException {
CopyDemo.copyFile("f:\\a.txt", "F:\\Copy.txt");
}
public static void copyFile(String scr, String dest) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(scr));
BufferedWriter bw = new BufferedWriter(new FileWriter(dest));
char[] chs = new char[1024];
int len = 0;
while ((len = br.read(chs)) != -1) {
bw.write(chs, 0, len);
bw.flush();
}
bw.close();
br.close();
}
}
作者:
e275919713
时间:
2015-7-8 21:31
源代码呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2