递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件
package com.hudong.test; import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils; public class ErgodicFile { public static void main(String[] args) throws IOException {
File file = new File("E:\\ershouok1");
// ergodicFile(file, 0);
ergodicFileFolder(file); } /**
* 生成文件
*
* @param file
* @param temp
* @return
* @throws IOException
*/
public static List<File> ergodicFile(File file, int temp) throws IOException {
List<File> list = new ArrayList<File>();
File[] fileList = file.listFiles(); for (int i = 0; i < fileList.length; i++) { File docFile = new File("E:\\39yiyuan\\doc\\" + temp + ".xml");
File summaryFile = new File("E:\\39yiyuan\\summary\\" + temp + ".xml");
File contentFile = new File("E:\\39yiyuan\\content\\" + temp + ".xml"); if (fileList[i].isFile()) { // 判断是文件
if ("doc.xml".equals(fileList[i].getName())) {
FileUtils.copyFile(fileList[i], docFile); //copy文件
} else if ("summary.xml".equals(fileList[i].getName())) {
FileUtils.copyFile(fileList[i], summaryFile);
} else if ("content.xml".equals(fileList[i].getName())) {
FileUtils.copyFile(fileList[i], contentFile);
}
} else if (fileList[i].isDirectory()) { // 判断是目录
ergodicFile(fileList[i], i); // 递归
}
}
return list;
} /**
* 生成带文件夹的文件
*
* @param file
* @param temp
* @return
* @throws IOException
*/
public static List<File> ergodicFileFolder(File file) throws IOException {
List<File> list = new ArrayList<File>();
File[] fileList = file.listFiles(); for (int i = 0; i < fileList.length; i++) { //遍历文件 if (fileList[i].isFile()) { // 判断是文件
if ("doc.xml".equals(fileList[i].getName())) {
File docFile = new File("E:/yiyuan/doc/" + System.currentTimeMillis());
docFile.mkdir();
FileUtils.copyFile(fileList[i], new File(docFile.getAbsolutePath() + "/doc.xml"));
} else if ("summary.xml".equals(fileList[i].getName())) {
File contentFile = new File("E:/yiyuan/summary/" + System.currentTimeMillis());
contentFile.mkdir();
FileUtils.copyFile(fileList[i], new File(contentFile.getAbsolutePath() + "/summary.xml"));
} else if ("content.xml".equals(fileList[i].getName())) {
File summaryFile = new File("E:/yiyuan/content/" + System.currentTimeMillis());
summaryFile.mkdir();
FileUtils.copyFile(fileList[i], new File(summaryFile.getAbsolutePath() + "/content.xml"));
}
} else if (fileList[i].isDirectory()) { // 判断是目录
ergodicFileFolder(fileList[i]); // 递归
}
}
return list;
}
}
递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件的更多相关文章
- (实用篇)PHP不用递归遍历目录下所有文件的代码
<?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...
- Python递归遍历目录下所有文件
#自定义函数: import ospath="D:\\Temp_del\\a"def gci (path): """this is a stateme ...
- VC/MFC 下 递归遍历目录下的所有子目录及文件
在MFC下要实现文件夹的递归遍历,可用CFileFind类,依次读取文件夹下的子文件夹和文件,并判断通过判断是文件夹还是文件来决定递归遍历.递归遍历代码如下: /******************* ...
- IO流-递归遍历目录下指定后缀名结尾的文件名称
/* *自定义遍历目录下指定后缀名结尾文件的名称的方法: * * param file:指定目录 name:指定后缀名 */ 1 public static void FileName(File fi ...
- linux中,通过crontab -e编辑生成的定时任务,写在哪个文件中
环境描述: 操作系统:Red Hat Enterprise Linux Server release 6.6 (Santiago) 内核版本:2.6.32-504.el6.x86_64 需求描述: 一 ...
- 如何在IJ中使用Jaxb2通过xml定义生成对应的Java Entity类的文件
#0. 准备要转换的xml文件,在Project视界中,右击这个xml文件,在弹出的菜单上选择“Generate XSD schema from XML File...”, 按默认设置生成xsd文件. ...
- Java 文件夹递归遍历
import java.io.File; public class Demo1 { public static void main(String[] args) { File dir=new File ...
- 数据结构二叉树的递归与非递归遍历之java,javascript,php实现可编译(1)java
前一段时间,学习数据结构的各种算法,概念不难理解,只是被C++的指针给弄的犯糊涂,于是用java,web,javascript,分别去实现数据结构的各种算法. 二叉树的遍历,本分享只是以二叉树中的先序 ...
- python找递归目录中文件,并移动到一个单独文件夹中,同时记录原始文件路径信息
运营那边有个需求. 下载了一批视频文件,由于当时下载的时候陆陆续续创建了很多文件夹,并且,每个文件夹下面还有子文件夹以及视频文件,子文件夹下面有视频文件或者文件夹 现在因为需要转码,转码软件只能对单个 ...
随机推荐
- JavaSE--对象克隆
当拷贝一个变量时,原始变量与拷贝变量引用同一个对象,这就是说,改变一个变量所引用的对象将会对另一个变量产生影响. 如果创建一个对象的新的 copy,他的最初状态与 original 一样,但以后将可以 ...
- AQS: 什么是AQS?
AQS定义了一套多线程访问共享资源的同步器框架. 许多同步类实现都依赖于它,如常用的ReentrantLock/ReentrantReadWriterLock/CountDownLatch这些类里面都 ...
- Docker搭建RabbitMQ(阿里云)
0 环境 系统环境:centos7 服务器:阿里云 1 正文 1 获取安装RabbitMQ https://hub.docker.com/_/rabbitmq 默认rabbitmq镜像是不带web端管 ...
- BSC交流
深圳建筑科学研究院 IT规划咨询项目 1999-2000年 平衡计分卡项目少 绩效管理 财务指标 考核 定量 考核国企 客户 产品 双重 市场 路径.方向的设计战略地图的工具,思维地图是怎么, 战略解 ...
- angular 父子组件传值 用get set 访问器设置默认值
private _PLACEHOLDER: string; @Input() public set placeholder(v: string) { this._PLACEHOLDER = v; } ...
- maven中scope属性有哪些
compile,缺省值,适用于所有阶段,会随着项目一起发布. provided,类似compile,期望JDK.容器或使用者会提供这个依赖.如servlet.jar. runtime,只在运行时使用, ...
- 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第十天】(单点登录系统实现)
https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...
- C++ malloc()函数的注意点及使用示例
1.malloc()函数的头文件是stdlib.h,其函数声明如下: void* malloc(size_t size); 其中参数size_t size表示动态内存分配空间的大小,以字节为单位. s ...
- druid+mybaits简单集成
在前面的文章中,我们对springboot开发中一些常用的框架进行了集成,但是发现还是存在一些问题,比如druid还需要比较长的固有配置,实际上druid官方是提供了相关的starters包的,内部采 ...
- java静态方法和静态字段
public class Dog{ public static void main(String[]args){ A a= new A(); a.add(); //java实例对象可以访问类的静态方法 ...