- File file = new File("D:/defonds/temp");
如果 "D:/defonds/temp" 是一个空目录的话,可以成功删除。但是如果是一个非空目录的话,就无法成功删除,必须将其子文件(目录)删除干
净才可删除成功。使用以下的方法可以成功删除非空文件夹:
-
- private void deleteFile(File file) {
- if (file.exists()) {
- if (file.isFile()) {
- file.delete();
- } else if (file.isDirectory()) {
- File[] files = file.listFiles();
- for (int i = 0;i < files.length;i ++) {
- this.deleteFile(files[i]);
- }
- file.delete();
- }
- } else {
- System.out.println("所删除的文件不存在");
- }
- }
或者使用下边的这个方法,也很不错:
- public static void deleteAllFilesOfDir(File path) {
- if (!path.exists())
- return;
- if (path.isFile()) {
- path.delete();
- return;
- }
- File[] files = path.listFiles();
- for (int i = 0; i < files.length; i++) {
- deleteAllFilesOfDir(files[i]);
- }
- path.delete();
- }
转载地址:http://blog.csdn.net/defonds/article/details/7031559