黑马程序员技术交流社区
标题:
java的面试题
[打印本页]
作者:
刘佳禹
时间:
2015-11-10 16:20
标题:
java的面试题
复制多级文件夹的文件 包括文件夹 求大神?
作者:
雨来
时间:
2015-11-10 21:02
看来IO操作真的很重要
作者:
478883662
时间:
2015-11-10 23:26
我的思路是:
定义一个方法 :先遍历一个文件夹 遍历过程中判断是否是文件夹,是 就调用自己,如果不是文件夹,就读取流读取 输出至指定的文件中,
作者:
chenhaiqian
时间:
2015-11-11 00:14
还没学到这个,坐等大神出现
作者:
零尘
时间:
2015-11-11 00:14
/**
* 拷贝带内容的文件夹
*
* File.mkdir();
*
* 分析:
* 1把一个文件夹,拷贝到另外一个文件夹里
* src,源文件夹 , dest 目标文件夹 ,dest应该是 src的父级目录
* 2.创建文件夹 ,再拷贝文件
* File(parent , zi)
* File src_copy = new File(D:\\ , src.getName());
*
* 3.读文件 src 下的文件
* 写文件 file( src_copy , 文件名字);
*
* 4. 文件夹 ,调用自己
* (file , src_copy)
*
*/
public class CopyDirTest {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
//声明源文件路径和目标文件路径
System.out.println("输入源文件路径");
File src = new File(sc.nextLine());
System.out.println("输入目标文件路径");
File parent = new File(sc.nextLine());
//调用copy方法
dirCopy(src,parent);
}
private static void dirCopy(File src, File parent) throws IOException {
//先进行一下源文件夹和目标文件夹路径是否相同
if(src.equals(parent)){
System.out.println("这样windows删不掉,就不让你玩了");
return;
}
//创建文件夹
File src_copy = new File(parent,src.getName());
src_copy.mkdir();
//获取源文件夹所有文件
File[] files = src.listFiles();
for (File file : files) {
if (file.isFile()) { // file :
// C:\Users\ThinkPad\Desktop\中午共享\西游记\3.jpg
// 拷贝文件
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(file));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(new File(src_copy, file.getName()))); // d:\\西游记\\3.jpg
int b;
while ((b = bis.read()) != -1) {
bos.write(b);
}
bis.close();
bos.close();
}else {
// 4 -- 调用自己
// 源 : file
// 目标:
dirCopy(file, src_copy);
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2