java实现读取、删除文件夹下的文件

      2019-12-03 18:47      JAVA编程
本文给大家分享的是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;}}

以上所述就是本文的全部内容了,希望大家能够喜欢。


上一篇:Java性能优化技巧汇总

下一篇:没有了