遞迴遍歷磁碟下的某一資料夾中所有檔案,並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;
}
}
相關文章
- matlab遍歷資料夾下的所有檔案Matlab
- Android遞迴刪除資料夾下所有檔案Android遞迴
- C/C++遍歷資料夾和檔案C++
- Java遞迴遍歷資料夾及檔案過濾器使用(FileFilter)Java遞迴過濾器Filter
- 獲取資料夾及其子資料夾下的所有檔案
- 顯示所有檔案和資料夾"失效 解決無法顯示所有檔案和資料夾
- asp.net 遞迴刪除資料夾及其子資料夾和所有檔案[轉]ASP.NET遞迴
- ASP.NET Core 中的檔案提供程式 遍歷資料夾讀取檔案資訊ASP.NET
- git的gitignore檔案排除資料夾和檔案Git
- nodejs遞迴資料夾獲取所有檔案路徑NodeJS遞迴
- python 如何刪除資料夾下的所有檔案和子資料夾?Python
- 遍歷某一個指定目錄下的所有子目錄和檔案(遞迴)遞迴
- 畸形檔案 資料夾
- NodeJs批量require資料夾中的所有檔案NodeJSUI
- 遞迴修改資料夾下面所有檔案裡面的的abc為abcde遞迴
- 讀取資料夾檔案
- 遍歷檔案Java中遍歷出指定目錄中的所有檔案Java
- Python求取資料夾內的檔案數量、子資料夾內的檔案數量Python
- macOS鎖定檔案和資料夾Mac
- gulp刪除檔案和資料夾
- 資料檔案誤刪--但有資料檔案的copy恢復
- [grep] grep -R -l 遞迴過濾資料夾中檔案內容遞迴
- java 獲取資料夾大小、檔案大小、檔案個數Java
- 遍歷目錄下的所有檔案
- 利用 python 遍歷多級資料夾處理不同檔案Python
- Win10檔案和資料夾如何隱藏 win10隱藏檔案及資料夾的方法Win10
- android 統計資料夾大小及刪除資料夾下所有檔案和路徑Android
- Linux統計某資料夾下檔案、資料夾的個數Linux
- C++檔案系統操作5 - 跨平臺列出指定目錄下的所有檔案和資料夾C++
- IDEA中的.iml檔案和.idea資料夾Idea
- git重新命名檔案和資料夾Git
- 獲取一個資料夾下所有指定字尾名(.java)的檔案(包括子資料夾中的內容),並將這些檔案的絕對路徑寫入到一個文字檔案中Java
- python列出資料夾所有檔案有哪些方法?Python
- Python資料夾與檔案的操作Python
- docker部署nginx並且掛載資料夾和檔案DockerNginx
- 把多個資料夾中的檔案批量放到一個資料夾
- c# 上傳壓縮包 解壓,遍歷資料夾和檔案C#
- 統計檔案數目(不包括隱藏檔案/資料夾)