本文給大家分享的是java實現讀取、刪除文件夾下的文件,其中File.delete()用於刪除“某個文件或者空目錄”!所以要刪除某個目錄及其中的所有文件和子目錄,要進行遞歸刪除,有需要的小伙伴可以參考下。
java實現讀取、刪除文件夾下的文件
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 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("文件"); // System.out.println("path=" + file.getPath()); // System.out.println("absolutepath=" + file.getAbsolutePath()); 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("path=" + readfile.getPath()); // System.out.println("absolutepath=" // + readfile.getAbsolutePath()); 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:UsersSWDesktopSKJ_H25補正 04_RCAG 03_SKJ"); // deletefile("D:/file"); } catch (FileNotFoundException ex) { } catch (IOException ex) { } System.out.println("ok"); } }方法二:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 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的絕對路徑 * @return */ String getProjectPath(){ //得到形如"/d:/${workspace}/${projectName}/WebRoot/WEB-INF/classes/"的 路徑 String path=this.getClass().getResource("/").getPath(); //從路徑字符串中取出工程路徑 path=path.substring(1, path.indexOf("WEB-INF/classes")); System.out.println("工程路徑:"+path); return path; } /** * @param args */ 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(); } } /** * 讀取指定路徑文件夾下的所有文件 * @param filepath * @return * @throws FileNotFoundException * @throws IOException */ 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("nt相對路徑=" + 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; } /** * 刪除某個文件夾下的所有文件夾和文件 * @param delpath * @return * @throws FileNotFoundException * @throws IOException */ 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; } }以上所述就是本文的全部內容了,希望大家能夠喜歡。