练习 2017-08-22 文件拷贝,包含子文件夹
来源:互联网 发布:易观国际数据 编辑:程序博客网 时间:2024/05/16 07:17
package folder_copy;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
//文件拷贝,包含子文件夹
public class FloderCopyDemo {
public static void main(String[] args) {
//创建源
File srcFolder = new File("D:/eclipse1");
//创建目标文件
File destFolder = new File("D:/test");
copyFloder(srcFolder,destFolder);
}
/**思路:
* 1)先展开当前文件夹
* 2)判断当前文件夹下的文件是文件还是目录
* 3)如果是文件则拷贝
* 如果是目录,就更新目录再递归继续展开
*
* @param srcFolder
* @param destFolder
*/
private static void copyFloder(File srcFolder, File destFolder) {
//如果目标文件夹为空,就创建文件夹
if(!destFolder.exists()){
destFolder.mkdirs();
}
//列出srcFolder下的所有文件
File[] files = srcFolder.listFiles();
for (File file : files) {
//如果是目录
if(file.isDirectory()){
//更新目标文件夹路径
File dirNew = new File(destFolder+File.separator+file.getName());
//递归
copyFloder(file,dirNew);
//如果是文件
}else{
//确定目标文件及名称
File dirNew = new File(destFolder+File.separator+file.getName());
byte[] buffer = new byte[1024];//准备一个字节数组
int len = -1;
try(
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(dirNew));
){
while((len = bis.read(buffer)) != -1){
bos.write(buffer, 0, len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
//文件拷贝,包含子文件夹
public class FloderCopyDemo {
public static void main(String[] args) {
//创建源
File srcFolder = new File("D:/eclipse1");
//创建目标文件
File destFolder = new File("D:/test");
copyFloder(srcFolder,destFolder);
}
/**思路:
* 1)先展开当前文件夹
* 2)判断当前文件夹下的文件是文件还是目录
* 3)如果是文件则拷贝
* 如果是目录,就更新目录再递归继续展开
*
* @param srcFolder
* @param destFolder
*/
private static void copyFloder(File srcFolder, File destFolder) {
//如果目标文件夹为空,就创建文件夹
if(!destFolder.exists()){
destFolder.mkdirs();
}
//列出srcFolder下的所有文件
File[] files = srcFolder.listFiles();
for (File file : files) {
//如果是目录
if(file.isDirectory()){
//更新目标文件夹路径
File dirNew = new File(destFolder+File.separator+file.getName());
//递归
copyFloder(file,dirNew);
//如果是文件
}else{
//确定目标文件及名称
File dirNew = new File(destFolder+File.separator+file.getName());
byte[] buffer = new byte[1024];//准备一个字节数组
int len = -1;
try(
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(dirNew));
){
while((len = bis.read(buffer)) != -1){
bos.write(buffer, 0, len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
}
阅读全文
0 0
- 练习 2017-08-22 文件拷贝,包含子文件夹
- 文件夹拷贝 子文件及文件夹
- java 文件夹拷贝(文件夹里包含文件和文件夹) 代码
- java 文件夹拷贝(文件夹里包含文件和文件夹) 代码
- java 文件夹拷贝(文件夹里包含文件和文件夹) 代码
- java压缩文件夹包含所有子文件夹以及子文件
- Java文件夹及子文件拷贝
- 快速删除一个包含文件和子文件夹的文件夹
- 删除文件夹中包含的子文件夹及文件
- C++遍历文件夹(包含子文件夹中的文件)
- C# 拷贝文件夹(包含里面的所有文件)
- linux命令拷贝文件及文件夹,删除文件及文件夹(包含文件)
- linux 批量删除目录下的文件夹,包含子文件
- Win32下删除目录(包含文件和子文件夹)
- 复制指定文件夹(包含所有子文件和子文件夹)
- 删除一个文件夹(该文件夹包含子文件和文件夹)
- JavaSE 练习-File、字节流递归拷贝文件夹极其子文件夹和文件到目标文件夹中
- VB拷贝文件,拷贝文件夹
- 笔记本电脑同时连接有线网络和无线网络时,如何判断实际连接的网络
- c语言实现判断字符串是不是回文
- 如何使用prototype来美化自己的代码?
- Github 开源:使用 .NET WinForm 开发所见即所得的 IDE 开发环境(Sheng.Winform.IDE)【2.源代码简要说明】
- MySQL5.7.03 更换高版本到 5.7.17安装过程及发现问题解决方案
- 练习 2017-08-22 文件拷贝,包含子文件夹
- GPU、CPU的异同
- Velocity入门教程一
- 常用正则表达式—邮箱(Email)
- 跟我一起用C++实现Java Thread库(一)
- xml-使用dom去遍历xml文件和获取指定节点信息
- GameMaker: Studio 学习笔记(三)生命 文字 时间轴
- java的 最大值 选择排序 冒泡排序 二分查找
- WebView滚动到底部