package com.hudong.util.orther;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List; import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; /**
* 遍历文件
*
* @Title: ErgodicFile.java
* @Copyright: Copyright (c) 2005
* @Description: <br>
* <br>
* @Company: ***
 * @Created on 2013-8-15 上午9:41:20
* @author 杨凯
*/
public class JudgeCopyErgodicFile { private static int k = 1, m = 1; private final static Log logger = LogFactory.getLog(JudgeCopyErgodicFile.class); public static void main(String[] args) throws IOException { File file = new File("E:/公司资料/39网资料/最终xml数据");
ergodicFolder(file);
} public static void ergodicFolder(File file) throws IOException { File[] fileList = file.listFiles(); for (int i = 0; i < fileList.length; i++) { // 遍历文件
if (fileList[i].isFile()) { // 判断是文件
// 这里是必须的,一定要休眠,否则会导致文件的覆盖
try {
Thread.sleep(1l);
} catch (InterruptedException e) {
e.printStackTrace();
}
if ("summary.xml".equals(fileList[i].getName())) {
try {
List<Element> root = new SAXReader().read(new FileInputStream(fileList[i])).getRootElement().elements();
for (Element e : root) {
String content = e.element("SUMMARY_CONTENT").getTextTrim();
if (!"".equals(content)) {
File summaryFile = new File("E:/yiyuan/summary/" + k + "/");
summaryFile.mkdir();
FileUtils.copyFile(fileList[i], new File(summaryFile.getAbsolutePath() + "/" + System.currentTimeMillis() + ".xml"));
m++;
if (m > 1000) {
k++;
m = 1;
}
} else {
logger.info(e.element("DOC_TITLE").getText());
System.out.println(e.element("DOC_TITLE").getText());
}
}
} catch (DocumentException e1) {
e1.printStackTrace();
}
} else if ("content.xml".equals(fileList[i].getName())) {
File contentFile = new File("E:/yiyuan/docinfo/" + k + "/" + System.currentTimeMillis());
contentFile.mkdir();
File desFile = new File(contentFile.getAbsolutePath() + "/docInfo.xml");
FileUtils.copyFile(fileList[i], desFile);
m++;
if (m > 1000) {
k++;
m = 1;
}
}
} else if (fileList[i].isDirectory()) { // 判断是目录
ergodicFolder(fileList[i]); // 递归
}
}
}
}

一个自动递增生成目录和文件的cop文件类的更多相关文章

  1. MongoDB自动递增序列

    MongoDB没有像SQL数据库外开箱即用自动递增功能.默认情况下,它采用了12字节的ObjectId为_id字段作为主键来唯一地标识文档.然而,可能存在的情况,我们可能希望_id字段有一些其它的自动 ...

  2. 使用dotnet build时复制引用dll到生成目录

    默认配置下dotnet build只会输出项目代码的dll,依赖用的是dotnet缓存中的dll,只有dotnet publish才会把依赖的dll一起输出到生成目录. 在项目csproj文件中添加以 ...

  3. 文件夹操作-DirectoryInfo类

    DirectoryInfo类是一个密封类,它可以用来创建.移动.枚举目录和子目录.DirectoryInfo类包括4个属性,可以用来获取目录的名称.父目录等. DirectoryInfo类的属性表 属 ...

  4. Python实现插件机制——自动import一个目录下的所有.py文件

    假设有这样一个目录结构: /src          main.py          /plugins                __init__.py                a.py  ...

  5. 用React实现一个自动生成文章目录的组件

    原文地址:小寒的博客 功能介绍 这个组件的效果呐,就是你在浏览这个页面的时候点击右上角的叉叉看到的那个文章目录. 功能很简单,就是根据文章内容自动生成这个目录,可以快速跳转. 需要的知识点 正则 do ...

  6. 使用mybatis-generator自动生成model、dao、mapping文件

    参考文献:http://www.cnblogs.com/smileberry/p/4145872.html 一.所需库 1.mybatis-generator库 2.连接DB的驱动(此以mysql为例 ...

  7. 在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world

    一.题目 编写一个内核模块,在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world.内核版本要求2.6.18 二.实验环境 物理主机:w ...

  8. 安装doxygen(一个自动文档生成工具)+Graphviz图形可视化软件

    参考文章: http://www.fmddlmyy.cn/text21.html http://www.cnblogs.com/duguguiyu/archive/2008/06/29/1231852 ...

  9. 如何使用ThinkPHP5 ,自动生成目录?

    具体步骤: A.在build.php中按照实际需求修改定义模块的内容: B.修改Public/index.php,在代码中加入: // 读取自动生成定义文件 $build = include '/.. ...

随机推荐

  1. JAVA--Mybatis-Spring-SpringMVC框架整合

    ------Mybatis-Spring-SpringMVC框架整合示例----- mybatis SQL映射文件 <?xml version="1.0" encoding= ...

  2. Python 安装zbar-py时出现 无法打开包括文件: “unistd.h” no such file or directory

    问题 途中使用的命令是cl.exe,在执行命令的时候找不到对应的unistd.h文件. unistd.h是Unix系统的文件,因此,十有八九,使用的是Windows系统.下面的代码可以修复,但是如果修 ...

  3. quartz定时定时任务执行两次

    quartz框架没问题. 流程: sping-quartz配置 <?xml version="1.0" encoding="UTF-8"?> < ...

  4. Python笔记_第一篇_面向过程_第一部分_6.其他控制语句(with...as等)

    其他控制语句,也就是说一个with... as...语句. 这是python非常精妙的一个语句,非常的简单但是作用非常大,在打开文件获得句柄的时候可以用它,省去f.close()忘记添加的麻烦(这个文 ...

  5. hdu 1246

    很久没有写题解了~因为懒(年纪大了就是脸皮厚,还有脸说) 这道题今天花了很长时间去推,一开始以为是规律题,没推出来,直接模拟也TLE了,接着考虑实在是没思路,看了题解. 思路大概就是这样: 先上代码( ...

  6. 题解-------CF235B Let's Play Osu!

    传送门 题目大意 求出总得分的期望值. 思路 还没有学习数学期望的小朋友赶紧去学一下数学期望,这里只提供公式: $E\left ( x \right )=\sum_{k=1}^{\infty }x_{ ...

  7. 学习spring第二天

    Spring第二天笔记 1. 使用注解配置Spring入门 1.1. 说在前面 学习基于注解的IoC配置,大家脑海里首先得有一个认知,即注解配置和xml配置要实现的功能都是一样的,都是要降低程序间的耦 ...

  8. 函数(Python)

    函数是什么? 计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数 ...

  9. 《C程序设计语言》练习1-5

    #include<stdio.h> /*修改温度转换程序,要求以逆序(即按照从300度到0度的顺序)打印温度转换表*/ main () { float fahr,celsius; int ...

  10. android记帐本、涂鸦、仿腾讯新闻、仿bilibili、Markdwon便签、资讯APP等源码

    Android精选源码 kotlin版仿哔哩哔哩动画Android客户端源码 android实现图片涂鸦效果源码 Android 开源记账本项目源码 android高仿腾讯新闻app源码 androi ...