java实现读取、删除文件夹下的文件
投稿:hebedich
本文给大家分享的是java实现读取、删除文件夹下的文件,其中File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,有需要的小伙伴可以参考下。
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("文件"); // 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:\\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的绝对路径 * @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("\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; } /** * 删除某个文件夹下的所有文件夹和文件 * @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; } }
以上所述就是本文的全部内容了,希望大家能够喜欢。