Java_文件夹拷贝
一.思路
* 文件夹的拷贝
1.递归查找子孙级文件
2.文件复制
文件夹创建
二.代码
package com.ahd.File; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream; /***
* 文件夹的拷贝
1.递归查找子孙级文件
2.文件复制
文件夹创建 * @author Administrator
*
*/
public class CopyDirDemo {
public static void main(String[] args) {
//源文件夹
File src = new File("D:\\web13\\src");
//目标文件夹
File dest = new File("D:\\"); try {
copyDir(src,dest);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/***
*
* @param src
* @param dest
* @throws IOException
*/
public static void copyDir(File src, File dest) throws IOException {
// TODO Auto-generated method stub
//判断源文件夹是否是一个文件夹
if(src.isDirectory()){
dest=new File(dest,src.getName());
//在目标文件夹中创建文件夹
dest.mkdirs();
//获取原文件架中所有文件,文件并拷贝,文件夹创建
for(File f:src.listFiles()){
copyDir(f,new File(dest,f.getName()));
}
}else if(src.isFile()){
copyFile(src,dest);
} }
/***
* 拷贝文件
* @param src
* @param dest
* @throws IOException
*/
public static void copyFile(File src,File dest) throws IOException{
if(dest.isDirectory()){
try {
throw new Exception("目标是文件夹,不能拷贝");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(src.isFile()){
//创建流
InputStream is=new FileInputStream(src);
OutputStream os=new FileOutputStream(dest);
//拷贝
//一次拷贝字节数
byte []b=new byte[1024];
//记录字节数
int len=0;
while(-1!=(len=is.read(b))){
os.write(b,0,len);
}
//关闭流
os.close();
is.close();
}else{
System.out.println("错误,不是文件");
} }
}
copy
Java_文件夹拷贝的更多相关文章
- IO文件夹拷贝(文件内含有文件和文件夹)
/** * 文件夹拷贝(文件内含有文件和文件夹) * * @param src * @param des */ private static void copy(String src, String ...
- linux两台服务器之间文件/文件夹拷贝
跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹t ...
- Java_文件夹分割与合并
一.思路: 1.文件切割: 使用类RandomAccessFile ,其中方法seek可以自定义读取位置,读一段,通过字节输出流(我使用BufferedOutputStream)写一段 2.文件合并 ...
- xampp 文件夹拷贝的注意事项。
xampp可以同盘符拷贝,比如由A电脑的D:\XAMPP拷贝到B电脑的D:\XAMPP,此拷贝不用修改任何设置,当进行不同盘拷贝时,要修改apache和mysql下的一大堆conf文件,修改盘符: x ...
- linux服务器间文件夹拷贝
要求,在A机器执行脚本,把A机器的某个目录文件拷贝到B机器. 第一版ftp实现: 1.A 机器先安装 ftp 客户端 $ sudo yum install ftp 2.B机器安装ftp服务端 $ su ...
- python文件处理-根据txt列表将文件从其他文件夹 拷贝到指定目录
内容涉及:路径拼接,文件拷贝,内容追加(append) # !/usr/bin/python # -*- coding: UTF-8 -*- import pandas as pd import os ...
- mongoDB整个文件夹拷贝备份还原的坑
现网有一个mongoDB数据库需要搬迁到新服务器,开发那边的要求是先搬迁现在的数据库过去,然后剩下的以后他们用程序同步. 数据库大楷20G左右,现网是主备仲裁的,停掉备点,拷贝了全部文件. 新服务器也 ...
- 两个linux之间拷贝文件及文件夹
Linux为我们提供了两个用于文件copy的命令.一个是cp,一个是scp,可是他们略有不同,cp 主要是用于在同一台电脑上,在不同的文件夹之间来回copy文件 scp 主要是在不同的Linux系统之 ...
- Swift 拷贝文件夹,实现文件夹内容整体复制
我们知道,在沙盒内,iOS要拷贝一个文件,可以使用 fileManager.copyItem(atPath: fullPath, toPath: fulltoPath) 方法简单实现,不过当我们要拷贝 ...
随机推荐
- SQL语言基础学习
9.26.对之前学习的知识进行一下梳理,同时结合所查资料对知识进行一次整合
- React了解
根据博主 http://www.ruanyifeng.com/blog/2015/03/react.html 的几个Demo(https://github.com/ruanyf/react-dem ...
- myEclipse配置jdk1.7
第一步:下载jdk1.7 下载地址:http://download.csdn.net/download/chun201010/7824469 第二步:安装jdk1.7 将下载的压缩包进行解压,得到一个 ...
- Python爬虫1-使用urlopen
GitHub代码练习地址:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac01_urlopen.py 爬虫简介- 爬虫定义 ...
- 初识vw和vh
最近在项目里突然看到了一行css代码,height:100vh; 一时间有点蒙蔽 因为之前有听过这个css3新增单位,但没有去了解过. 那这个单位又跟px,rem,em,%有什么不同呢? 简述: ...
- springboot集成quartz定时任务课动态执行
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</ ...
- 3-7 Vue中的列表渲染
举个案例:循环data中的list的值在div中,并显示相应的index值. 关于数组的循环: //显示效果如下图: //一般的列表渲染最好带一个key值,要把key值设置为唯一值的话,可以选择in ...
- 【翻译】浏览器渲染Rendering那些事:repaint、reflow/relayout、restyle
原文链接:http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/ 有没有被标题中的5个“R”吓到?今天,我们来讨论一下浏览器的渲 ...
- 【EF6学习笔记】(四)弹性连接及命令拦截调试
本章原文地址:Connection Resiliency and Command Interception 原文有些地方讲的比较细,个人根据实际理解做些缩减,或者加入一些个人理解: 第1部分 弹性连接 ...
- (转)MySQL join语法解析与性能分析
文章转载的:http://www.cnblogs.com/BeginMan/p/3754322.html 一.join语法概述 join用于多表中字段之间的联系,语法如下: ... FROM tabl ...