Java 遞迴讀取與刪除資料夾下所有檔案。本站提醒廣大學習愛好者:此文章僅供參考,不一定能完全符合您的需求。以下是完整範例正文
Java 實作讀取、刪除資料夾下的檔案
package test.com;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ReadFile {
public ReadFile() { }
/** 讀取某個資料夾下的所有檔案 */
public static boolean readfile(String filepath) throws FileNotFoundException, IOException {
try {
File file = new File(filepath);
if (!file.isDirectory()) {
System.out.println(file.getName());
} else if (file.isDirectory()) {
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (!readfile.isDirectory()) {
System.out.println(readfile.getName());
} else if (readfile.isDirectory()) {
readfile(filepath + "\\" + filelist[i]);
}
}
}
} catch (FileNotFoundException e) {
System.out.println("readfile() Exception:" + e.getMessage());
}
return true;
}
/** 刪除某個資料夾下的所有資料夾和檔案 */
/*public static boolean deletefile(String delpath) throws FileNotFoundException, IOException {
try {
File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("1");
file.delete();
} else if (file.isDirectory()) {
System.out.println("2");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File delfile = new File(delpath + "\\" + filelist[i]);
if (!delfile.isDirectory()) {
System.out.println("path=" + delfile.getPath());
System.out.println("absolutepath=" + delfile.getAbsolutePath());
System.out.println("name=" + delfile.getName());
delfile.delete();
System.out.println("刪除檔案成功");
} else if (delfile.isDirectory()) {
deletefile(delpath + "\\" + filelist[i]);
}
}
file.delete();
}
} catch (FileNotFoundException e) {
System.out.println("deletefile() Exception:" + e.getMessage());
}
return true;
}*/
public static void main(String[] args) {
try {
readfile("C:\\Users\\SW\\Desktop\\SKJ_H25補正\\004_RCAG\\003_SKJ");
// deletefile("D:/file");
} catch (FileNotFoundException ex) { } catch (IOException ex) { }
System.out.println("ok");
}
}
方法二:
package otherstudy;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* @ClassName: TestReadFile
* @CreateTime: Aug 1, 2014 11:42:44 AM
* @Author: mayi
* @Description: 讀取和刪除資料夾下的所有檔案
*/
public class TestReadFile {
/** 取得專案 WebRoot 的相對路徑 */
String getProjectPath() {
String path = this.getClass().getResource("/").getPath();
path = path.substring(1, path.indexOf("WEB-INF/classes"));
System.out.println("專案路徑:" + path);
return path;
}
public static void main(String[] args) {
TestReadFile trf = new TestReadFile();
String xmlPath = trf.getProjectPath() + "testDocs";
try {
readAllFile(xmlPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/** 讀取指定路徑資料夾下的所有檔案 */
public static boolean readAllFile(String filepath) throws FileNotFoundException, IOException {
try {
File file = new File(filepath);
if (!file.isDirectory()) {
System.out.println("\n檔案資訊:");
System.out.println("\t絕對路徑=" + file.getPath());
System.out.println("\t相對路徑=" + file.getAbsolutePath());
System.out.println("\t檔案全名=" + file.getName());
} else if (file.isDirectory()) {
System.out.println("\n資料夾內檔案列表資訊:");
File[] fileList = file.listFiles();
for (int i = 0; i < fileList.length; i++) {
File readfile = fileList[i];
if (!readfile.isDirectory()) {
System.out.println("\n\t絕對路徑=" + readfile.getPath());
System.out.println("\t相對路徑=" + readfile.getAbsolutePath());
System.out.println("\t檔案全名=" + readfile.getName());
} else if (readfile.isDirectory()) {
readAllFile(fileList[i].getPath());
}
}
}
} catch (FileNotFoundException e) {
System.out.println("readfile() Exception:" + e.getMessage());
}
return true;
}
/** 刪除某個資料夾下的所有資料夾和檔案 */
public static boolean deleteFile(String delpath) throws FileNotFoundException, IOException {
try {
File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("1");
file.delete();
} else if (file.isDirectory()) {
System.out.println("2");
File[] fileList = file.listFiles();
for (int i = 0; i < fileList.length; i++) {
File delfile = fileList[i];
if (!delfile.isDirectory()) {
System.out.println("絕對路徑=" + delfile.getPath());
System.out.println("相對路徑=" + delfile.getAbsolutePath());
System.out.println("檔案全名=" + delfile.getName());
delfile.delete();
System.out.println("刪除檔案成功");
} else if (delfile.isDirectory()) {
deleteFile(fileList[i].getPath());
}
}
file.delete();
}
} catch (FileNotFoundException e) {
System.out.println("deletefile() Exception:" + e.getMessage());
}
return true;
}
}
以上就是本文的全部內容,希望大家能夠喜歡。