Java--文件操作,删除文件及文件夹
2013-08-02 23:55
459 查看
1.删除文件夹下的所有文件,所有文件夹,及删除本身
2.删除文件夹下的所有文件夹
3.清空文件夹
public static boolean deleteFolders(String filePath){ boolean isDeleteSuccess = false; LinkedList<String> folderList = new LinkedList<String>(); folderList.add(filePath); while(folderList.size() > 0){ File file1 = new File(folderList.poll()); File[] files1 = file1.listFiles(); ArrayList<File> fileList = new ArrayList<File>(); for(int i = 0; i < fileList.size(); i++){ if(files1[i].isDirectory()){ folderList.add(files1[i].getPath()); }else{ fileList.add(files1[i]); } } //删除文件 for(File file : fileList){ file.delete(); } } //删除文件夹 folderList = new LinkedList<String>(); folderList.add(filePath); while(folderList.size() > 0){ File file2 = new File(folderList.getLast()); if(file2.delete()){ folderList.removeLast(); }else{ File[] files2 = file2.listFiles(); for(int i = 0; i < files2.length; i++){ folderList.add(files2[i].getPath()); } } } if(folderList.size() == 0) isDeleteSuccess = true; return isDeleteSuccess; }
2.删除文件夹下的所有文件夹
public static boolean deleteUnderAllFolder(String filePath){ boolean isDeleteSuccess = false; LinkedList<String> folderList = null; File superFile = new File(filePath); File[] files1 = superFile.listFiles(); for(int i = 0; i < files1.length; i++){ if(files1[i].isDirectory()){ if(!files1[i].delete()){ //取得所有文件的路径 folderList = new LinkedList<String>(); folderList.add(files1[i].getPath()); while(folderList.size() > 0){ File file = new File(folderList.poll()); File[] files2 = file.listFiles(); ArrayList<File> fileList = new ArrayList<File>(); for(int j = 0; j < files2.length; j++){ if(files2[j].isDirectory()){ folderList.add(files2[j].getPath()); }else{ fileList.add(files2[j]); } } //删除所有文件 for(File f : fileList){ f.delete(); } } //删除所有文件夹 folderList = new LinkedList<String>(); folderList.add(files1[i].getPath()); while(folderList.size() > 0){ File file = new File(folderList.getLast()); if(file.delete()){ folderList.removeLast(); }else{ File[] files = file.listFiles(); for(int a = 0; a < files.length; a++){ folderList.add(files[a].getPath()); } } } } } } if(folderList != null && folderList.size() == 0) isDeleteSuccess = true; return isDeleteSuccess; }
3.清空文件夹
public static boolean emptyFolder(String filePath){ File delifilefolder = new File(filePath); if(delifilefolder.exists() && !delifilefolder.delete()){ LinkedList<String> folderList = new LinkedList<String>(); folderList.add(filePath); while(folderList.size() > 0){ File file1 = new File(folderList.poll()); File[] files1 = file1.listFiles(); ArrayList<File> fileList = new ArrayList<File>(); for(int i = 0; i < fileList.size(); i++){ if(files1[i].isDirectory()){ folderList.add(files1[i].getPath()); }else{ fileList.add(files1[i]); } } //删除文件 for(File file : fileList){ file.delete(); } } //删除文件夹 folderList = new LinkedList<String>(); folderList.add(filePath); while(folderList.size() > 0){ File file2 = new File(folderList.getLast()); if(file2.delete()){ folderList.removeLast(); }else{ File[] files2 = file2.listFiles(); for(int i = 0; i < files2.length; i++){ folderList.add(files2[i].getPath()); } } } } return delifilefolder.mkdir(); }
相关文章推荐
- java 的 文件、文件夹 的建立、删除、复制以及移动等功能 操作
- java文件和文件夹复制、删除、移动操作
- 纯Java文件操作工具,支持文件、文件夹的复制、删除、移动
- java中文件操作(递归删除空文件夹,删除过期文件)
- Java 代码完成删除文件、文件夹操作
- Java本地文件操作(二)文件夹的创建、删除、重命名
- java中File文件的创建,删除,复制,移动,以及目录文件的删除等等,主要是文件及文件夹的操作
- java_对文件的删除、剪切、移动和创建文件夹操作
- java新建文件(文件夹)和删除文件(文件夹)的操作
- java文件和文件夹复制、删除、移动操作
- Java遍历文件夹,重命名文件,删除文件,复制文件等操作
- java 删除文件、删除文件夹操作
- Java中文件和文件夹创建、删除和移动操作,Java Socket多线程传输多文件
- ( 转载)纯Java文件操作工具,支持文件、文件夹的复制、删除、移动
- java文件和文件夹复制、删除、移动操作
- java文件和文件夹复制、删除、移动操作
- Java 实现删除文件、文件夹操作
- java文件和文件夹复制、删除、移动操作
- java文件和文件夹复制、删除、移动操作
- JAVA操作文件或文件夹的创建与删除