目录操作工具类 CopyDir.java
- package com.util;
- import java.io.*;
- /**
- * 1,建立目的目录。 2,遍历源目录。 3,遍历过程中,创建文件或者文件夹。 原理:其实就是改变了源文件或者目录的目录头。
- * @datetime Dsc 24
- */
- public class CopyDir {
- private File sDir, dDir, newDir;
- public CopyDir(String s, String d) {
- this(new File(s), new File(d));
- }
- CopyDir(File sDir, File dDir)// c:\\Test d:\\abc
- {
- this.sDir = sDir;
- this.dDir = dDir;
- }
- public void copyDir() throws IOException {
- // 是创建目的目录。也就是创建要拷贝的源文件夹。Test
- // 获取源文件夹名称。
- String name = sDir.getName();
- // 通过该名称在目的目录创建该文件夹,为了存放源文件夹中的文件或者文件夹。
- // 将目的目录和源文件夹名称,封装成File对象。
- newDir = dDir;
- // new File(dDir,name);
- // 调用该对象的mkdir方法。在目的目录创建该文件夹。d:\\abc\\Test
- newDir.mkdir();//
- // 遍历源文件夹。
- listAll(sDir);
- }
- /*
- * 将遍历目录封装成方法。 在遍历过程中,遇到文件创建文件。 遇到目录创建目录。
- */
- private void listAll(File dir) throws IOException {
- File[] files = dir.listFiles();
- for (int x = 0; x < files.length; x++) {
- if (files[x].isDirectory()) {
- createDir(files[x]);// 调用创建目录的方法。
- listAll(files[x]);// 在继续进行递归。进入子级目录。
- } else {
- createFile(files[x]);// 调用创建文件的方法。
- }
- }
- }
- /*
- * copy目录。通过源目录在目的目录创建新目录。
- */
- private void createDir(File dir) {
- File d = replaceFile(dir);
- d.mkdir();
- }
- /*
- * copy文件。
- */
- private void createFile(File file) throws IOException {
- File newFile = replaceFile(file);
- // copy文件是一个数据数据传输的过程。需要通过流来完成。
- FileInputStream fis = new FileInputStream(file);
- FileOutputStream fos = new FileOutputStream(newFile);
- byte[] buf = new byte[1024 * 2];
- int num = 0;
- while ((num = fis.read(buf)) != -1) {
- fos.write(buf, 0, num);
- }
- fos.close();
- fis.close();
- }
- /*
- * 替换路径。
- */
- private File replaceFile(File f) {
- // 原理是:将源目录的父目录(C:\\Tset),替换成目的父目录。(d:\\abc\\Test)
- String path = f.getAbsolutePath();// 获取源文件或者文件夹的决定路径。
- // 将源文件或者文件夹的绝对路径替换成目的路径。
- String newPath = path.replace(sDir.getAbsolutePath(), newDir
- .getAbsolutePath());
- // 将新的目的路径封装成File对象
- File newFile = new File(newPath);
- return newFile;
- }
- }
目录操作工具类 CopyDir.java的更多相关文章
- 拼音操作工具类 - PinyinUtil.java
拼音操作工具类,提供字符串转换成拼音数组.汉字转换成拼音.取汉字的首字母等方法. 源码如下:(点击下载 -PinyinUtil.java.pinyin4j-2.5.0.jar ) import net ...
- 文件相关操作工具类——FileUtils.java
文件相关操作的工具类,创建文件.删除文件.删除目录.复制.移动文件.获取文件路径.获取目录下文件个数等,满足大多数系统需求. 源码如下:(点击下载 FileUtils.java) import jav ...
- 【转载】ASP.NET工具类:文件夹目录Directory操作工具类
在ASP.NET开发网站的过程中,有时候会涉及到文件夹相关操作,如判断文件夹目录是否存在.删除文件夹目录.创建文件.删除文件.复制文件夹等等.这一批有关文件目录的操作可以通过Directory类.Fi ...
- Java SE 之 数据库操作工具类(DBUtil)设计
JDBC创建数据库基本连接 //1.加载驱动程序 Class.forName(driveName); //2.获得数据库连接 Connection connection = DriverManager ...
- 文件操作工具类: 文件/目录的创建、删除、移动、复制、zip压缩与解压.
FileOperationUtils.java package com.xnl.utils; import java.io.BufferedInputStream; import java.io.Bu ...
- JAVA文件操作工具类(读、增、删除、复制)
使用JAVA的JFinal框架 1.上传文件模型类UploadFile /** * Copyright (c) 2011-2017, James Zhan 詹波 (jfinal@126.com). * ...
- docker 部署vsftpd服务、验证及java ftp操作工具类
docker部署vsftpd服务 新建ftp文件存储目录/home/ftp cd /home mkdir ftp 创建一个组,用于存放ftp用户 groupadd ftpgroups 创建ftp用户, ...
- java基础37 集合框架工具类Collections和数组操作工具类Arrays
一.集合框架工具类:Collections 1.1.Collections类的特点 该工具类中所有的方法都是静态的 1.2.Collections类的常用方法 binarySearch(List< ...
- java/javascript 时间操作工具类
一.java 时间操作工具类 import org.springframework.util.StringUtils; import java.text.ParseException; import ...
随机推荐
- 15、C#基础整理(递归)
带输出参数的函数 输入参数相当于函数而言,相当于已经赋值了的变量,直接可用输出参数相当于定义一个没有值的变量,在函数中进行赋值,然后调用函数的时候将赋值带出函数 例: public void shuc ...
- Xcode Snippets
在Double Encore,我们写的代码都是干净,可重用的——不过,有时候并不能完全做到.如在使用pragma mark的时候.下面就是一个示例: #pragma mark - UIViewCo ...
- Debian下安装Firefox与flash简介
Debian下安装Firefox与flash简介 由于Debian在Firefox的版权上出现了问题,导致官方发布的Debian系统不能使用默认的Firefox浏览器,最后官方重编的Firefox改名 ...
- python中如何判断某个变量是否存在
方法一:try...except... 方法二: locals().has_key('var') var变量存在返回True, 不存在返回False 方法三:'var' in dir() 同样返回Tr ...
- CentOS下Web服务器环境搭建LNMP一键安装包
CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...
- sql server中NULL导入decimal字段时报错
sql server中NULL导入decimal字段时报错 在导入CSV文件时,如果decimal字段为null值,导致文本文件入库时失败. 错误现象 构造例子 新建一张表,包含decimal字段. ...
- ZSDR017-客户订货价格和库存
*----------------------------------------------------------------------*ZSDR017-客户订货价格和库存*---------- ...
- Java强,软,弱,虚类型
链接 http://wiseideal.iteye.com/blog/1469295
- leetcode 107 Binary Tree Level Order Traversal II ----- java
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...
- JavaWeb学习记录(六)——用户登录功能
使用JDBC.spring框架.servlet实现一个简单的用户登录功能. 一.mySql数据库 SET FOREIGN_KEY_CHECKS=0; -- ---------------------- ...