JAVA 好用的文件备份代码
好用的java文件备份工具
这个工具是一边备份一边删除原来目录所有的要备份数据。
package cn.gitv.pro.charging.lncmcc.test;import java.io.*;/*** @author * @create on 2019-12-05 10:10*/
public class FileCopyUtils {// 实现对目录的复制
// 在复制目录的过程中判断源文件下所有文件对象是否为目录,是的话则利用递归调用自己复制目录
// 如果是文件的话,则调用copyFile方法复制文件public static void copyDir(String srcPath,String destPath) {File src = new File(srcPath);//源头File dest = new File(destPath);//目的地//判断是否为目录,不存在则不作操作if(!src.isDirectory()) {return;}//判断目的地目录是否存在,不存在就创建目录if(!dest.exists()) {boolean mkdir = dest.mkdir();}//获取源头目录下的文件列表,每个对象代表一个目录或者文件File[] srcList = src.listFiles();if (null != srcList && srcList.length > 0){//遍历源头目录下的文件列表for (File aSrcList : srcList) {//如果是目录的话if (aSrcList.isDirectory()) {//递归调用复制该目录copyDir(srcPath + File.separator + aSrcList.getName(), destPath + File.separator + aSrcList.getName());//如果是文件的话} else if (aSrcList.isFile()) {//递归复制该文件copyFile(srcPath + File.separator + aSrcList.getName(), destPath + File.separator + aSrcList.getName());}aSrcList.delete();}}
// boolean delete = src.delete();}// 实现对文件的复制public static void copyFile(String isFile, String osFile) {InputStream is = null;OutputStream os = null;try {is = new FileInputStream(isFile);os = new FileOutputStream(osFile);byte[] data = new byte[1024];//缓存容器int len = -1;//接收长度while((len=is.read(data))!=-1) {os.write(data, 0, len);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch(IOException e) {e.printStackTrace();}finally {// 释放资源 分别关闭 先打开的后关闭try {if(null!=os) {os.close();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(null!=is) {is.close();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static void main(String[] args) {copyDir("D:\\test3","D:\\test4");}
}
JAVA 好用的文件备份代码相关推荐
- Java框架JSON-RPC项目demo代码实战 + JAVA WEB配置虚拟目录(转自21天java web开发)
Java框架JSON-RPC项目demo代码实战 备注 JAVA WEB配置虚拟目录(转自21天java web开发) https://blog.csdn.net/wjxbj/article/det ...
- java字典写实例,基于JAVA的新华字典接口调用代码实例
基于JAVA的新华字典接口调用代码实例 接口描述:基于JA V A的新华字典接口调用代码实例 接口平台:聚合数据 import java.io.BufferedReader; import java. ...
- Java文件上传功能代码 —— 普遍适用
版权声明:本文为博主原创文章,如需转载,请标明出处. https://blog.csdn.net/alan_liuyue/article/details/72782207 一. 前言 通过之前的博 ...
- java bitset用途_浅谈Java BitSet使用场景和代码示例
搜索热词 @H_502_0@一.什么是BitSet? @H_502_0@ 注:以下内容来自JDK API: @H_502_0@ BitSet类实现了一个按需增长的位向量.位Set的每一个组件都有一个b ...
- Java多线程之多线程工程代码编写思维方式
Java之多线程的工程代码编写思维方式 题目:三个售票员卖出30张票,用线程模拟. 前言: 本文涉及synchronized.Lock和拉姆达表达式(Lambda Expressions),前两知识点 ...
- java vo转map_Jython:在 Java 程序里运行 Python 代码 4.5
彭翌 彭翌,网易游戏资深运维开发工程师,从事大数据相关的基础架构平台研发工作,业余时间也关注分布式系统等相关领域. 前言 众所周知,JVM 在大数据基础架构领域可以说是独占鳌头,当我们需要开发大数据处 ...
- java调用、执行groovy代码
java调用.执行groovy代码 1: package test; 2: 3: import javax.script.ScriptEngine; 4: import javax.script.Sc ...
- Java 线程池框架核心代码分析
转载自 Java 线程池框架核心代码分析 前言 多线程编程中,为每个任务分配一个线程是不现实的,线程创建的开销和资源消耗都是很高的.线程池应运而生,成为我们管理线程的利器.Java 通过Executo ...
- java 静态代码块_关于Java你不知道的那些事之代码块
前言 普通代码块:在方法或语句中出现的{},就被称为代码块 静态代码块:静态代码块有且仅加载一次,也就是在这个类被加载至内存的时候 普通代码块和一般语句执行顺序由他们在代码中出现的次序决定,先出现先执 ...
最新文章
- The form contains the following errors
- 一个进程仅存在给定类型的一个挂起信号,同一进程同样类型的其他信号不被排队
- 参考文献顺序不对_Endnote插入参考文献的保姆级教程
- python编写ATM类_Python中编写类的各种技巧和方法
- Ubuntu16.04 设置环境变量的方法
- Doxygen学习小记
- 保定2021高考成绩查询,保定2021年中考网上查询
- mysql三表联查sql语句_mybatis中SQL语句的三表联查
- Linux动态库依赖其它动态库的问题
- 页面崩溃原因分析及解决
- 特斯拉国产又怎样,十个月后就完蛋
- kivy android wifi,Kivy / Buildozer VM Ubuntu不能连接到网络的问题解决
- word如何去除表格中高亮部分(表格属性-边框和底纹)
- ArcFaceSDK3.0 Python Demo
- collections库
- 163邮箱自动化登录实现模块化【1】
- html视频怎么转换成图片,WPS演示如何将图片转换成视频?
- 数据结构与算法:树 二叉树入门(一)
- fedora 16 安装后的基本配置
- Baxter实战——baxter摇摆起来(打开gazebo进入baxter仿真)