递归遍历磁盘下的某一文件夹中所有文件,并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找递归目录中文件,并移动到一个单独文件夹中,同时记录原始文件路径信息
运营那边有个需求. 下载了一批视频文件,由于当时下载的时候陆陆续续创建了很多文件夹,并且,每个文件夹下面还有子文件夹以及视频文件,子文件夹下面有视频文件或者文件夹 现在因为需要转码,转码软件只能对单个 ...
随机推荐
- Anaconda 安装 TensorFlow ImportError:DLL加载失败,错误代码为-1073741795
错误再现 环境: 使用Anaconda 中 conda 4.6.2, Python 3.7版本 Windows 7 操作系统 CPU: Intel i5 原始安装过程 直接在CMD中,安装链接 中的方 ...
- Graph & Trees3 - 二分图
\[二分图略解\] \[By\;TYQ\] 二分图定义: \(f(i,L) = [a \in L\;\text{&}\;\forall b \in a.to \;\text{,}\; b \n ...
- Code Style for OI
Code Style for OI #include #define 尽量少用 #include 能#include <foo>就不#include "foo" #if ...
- lower_bound()和upper_bound()用法详解
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的. lower_bound( begin,end,num):从数组的begin位置到end ...
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之集合类型(set)
集合!Python中的集合数据基本上是为了方便数学计算使用的. 什么是集合? 集合就是“确定的一堆东西”.集合里面的东西叫做元素. 特点:1. 集合里面是没有重复的元素的. 2. ...
- Covisibility Graph
在Orb-Slam中有三个地图分别是Covisibility Graph,Spanning Graph,以及Essential Graph,它们三个分别是什么意思呢? 首先,图优化是目前视觉SLAM里 ...
- 关于mysql数据库连接异常处理
tomcat启动错误日志关键信息: 28-Aug-2019 14:22:55.014 SEVERE [localhost-startStop-1] org.apache.catalina.core.C ...
- iOS 有关二维码
一.把相应的URL生成二维码 利用有关图像变成的框架 #import <CoreImage/CoreImage.h> 步骤:实例化二维码滤镜---->恢复滤镜属性---->将字 ...
- day22- hashlib模块-摘要算法(哈希算法)
# python的hashlib提供了常见的摘要算法,如md5(md5算法),sha1等等.摘要:digest # 摘要算法又称哈希算法.散列算法. # 它通过一个函数,把任意长度的数据(明文)转换为 ...
- linux 有了源码创建git版本库(coding)
进入目录,比如ewei_shop 执行 git init 瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),当前目录下多了一个.git的目录,如果没有看到 ...