删除指定路径下的文件及文件夹

时间:2024-10-05 07:19:36
private boolean deleteDirectory(String filePath) { // 如果dir不以文件分隔符结尾,自动添加文件分隔符 if (!filePath.endsWith(File.separator)) filePath = filePath + File.separator; File dirFile = new File(filePath); // 如果dir对应的文件不存在,或者不是一个目录,则退出 if ((!dirFile.exists()) || (!dirFile.isDirectory())) { Toast.makeText(DeleteFileActivity.this, "删除目录失败:" + filePath + "不存在!", Toast.LENGTH_SHORT).show(); return false; } boolean flag = true; // 删除文件夹中的所有文件包括子目录 File[] files = dirFile.listFiles(); for (File file : files) { // 删除子文件 if (file.isFile()) { flag = deleteSingleFile(file.getAbsolutePath()); if (!flag) break; } // 删除子目录 else if (file.isDirectory()) { flag = deleteDirectory(file .getAbsolutePath()); if (!flag) break; } } if (!flag) { Toast.makeText(DeleteFileActivity.this, "删除目录失败!", Toast.LENGTH_SHORT).show(); return false; } // 删除当前目录 if (dirFile.delete()) { Log.e(TAG, "Copy_Delete.deleteDirectory: 删除目录" + filePath + "成功!"); return true; } else { Toast.makeText(DeleteFileActivity.this, "删除目录:" + filePath + "失败!", Toast.LENGTH_SHORT).show(); return false; } }

相关文章