一個自動遞增生成目錄和檔案的cop檔案類
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]); // 遞迴
}
}
}
}
相關文章
- linux建立賬戶並自動生成主目錄和主目錄下的檔案Linux
- 遍歷某一個指定目錄下的所有子目錄和檔案(遞迴)遞迴
- 自動生成檔案層級樹類
- nodejs生成多層目錄和生成檔案的通用方法NodeJS
- 為 github markdown 檔案生成目錄(toc)Github
- Linux檔案系統-目錄和檔案管理Linux
- 複製目錄下的全部檔案到另一個目錄
- 把當前目錄檔名輸出到一個檔案
- 沒有目錄建目錄,沒有檔案建檔案
- 自動生成Mybatis的Mapper檔案MyBatisAPP
- PHP遍歷目錄和檔案PHP
- Linux檔案和目錄管理Linux
- 利用nodejs寫一個自動生成vue元件檔案的cliNodeJSVue元件
- 關於檔案系統在建立目錄檔案和普通檔案時的區別
- 遞迴遍歷磁碟下的某一資料夾中所有檔案,並copy檔案生成檔案和帶資料夾的檔案遞迴
- SQLServeronLinux的檔案和目錄結構SQLServerLinux
- 8.var目錄下的檔案和目錄詳解
- 兩個目錄中,刪除其中一個目錄中同名檔案的做法
- Tomcat目錄和檔案講解Tomcat
- Windows 複製 xcopy 檔案到另外一個 目錄Windows
- 18、檔案與目錄
- 清理bdump目錄檔案
- 把object放到同一個目錄的Makefile寫法,目標檔案同一目錄Object
- 在 Linux 中如何歸檔檔案和目錄Linux
- udev 自動掛載U盤檔案系統指定目錄dev
- Python 包、模組、類以及程式碼檔案和目錄的一種管理方案Python
- php檔案操作之提取檔案/目錄的名稱PHP
- C語言檔案與目錄(一)C語言
- 無需手寫,自動生成Flutter/Dart實體類檔案FlutterDart
- 使用adpatch打patch時log檔案生成目錄
- Linux的檔案屬性和目錄配置Linux
- C語言檔案與目錄(五)檔案鎖C語言
- 一個CSV檔案解析類
- word怎麼自動生成目錄?Word自動生成目錄的方法教程
- 無緩衝檔案IO和目錄操作
- 【ZIP】打包過濾指定目錄和檔案
- LINUXdu檢視目錄和檔案大小Linux
- 刪除資料夾下SVN自動生成的檔案的一個bat方法BAT