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语句的字符串
两种方式:exec (sqlStr);或exec sp_executesql @sqlStr;绝大多数情况下,应使用第二种方式来执行动态sql.因为这种方式能重用执行计划,并且更安全. 参考例子:ht ...
- Key Technologies Primer 读书笔记,翻译 --- Struct 学习 1
原文链接:https://struts.apache.org/primer.html 本来想写成读书笔记的,结果还是变成翻译,谨作记录,学习. 1.HTML -- 见我前面文章 2.Interne ...
- nginx关于限制请求数和连接数
nginx轻巧功能强大,能承受几百并发量,ddos攻击几乎没有影响到nginx自身的工作,但是,太多的请求就开始影响后端服务了.所以必须要在nginx做相应的限制,让攻击没有到后端的服务器.这里阐述的 ...
- BCrypt加密算法
用户表的密码通常使用MD5等不可逆算法加密后存储,为防止彩虹表破解更会先使用一个特定的字符串(如域名)加密,然后再使用一个随机的salt(盐值)加密. 特定字符串是程序代码中固定的,salt是每个密码 ...
- JavaScript的文档对象模型DOM
小伙伴们之前我们讲过很多JavaScript的很多知识点,可以点击回顾一下: <JavaScript大厦之JS运算符>: <JavaScript工作原理:内存管理 + 如何处理4个常 ...
- Python爬虫3-parse编码与利用parse模拟post请求
GitHub代码练习地址:①利用parse模拟post请求:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac04_pars ...
- dubbo实用知识点总结(三)
1. 服务降级 2. 优雅停机 3. 主机绑定 4. 访问日志 5. Multicast注册中心 6. zookeeper注册中心 7. 推荐用法 8. 容量规划 9. 基准测试工具包
- Oracle的nvl函数和nvl2函数
一.基本语法 介绍一下oracle的nvl函数和nvl2函数. nvl函数 nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1. nvl2函数 nvl2函 ...
- jQuery之animate()用法
最近在学习jQuery,看到一个很有意思的函数animate(),但是在网上却没有查到相关的详细资料,于是打算参考jQuery API,自己总结一下. 概述 animate() 方法执行 CSS 属性 ...
- sleep( ) 和 wait( ) 的这 5 个区别,你知道几个?
sleep(休眠) 和 wait(等待) 方法是 Java 多线程中常用的两个方法,它们有什么区别及一些该注意的地方有哪些呢?下面给大家一一分解. 区别1:使用限制 使用 sleep 方法可以让让当前 ...