android删除存储卡中的目录及目录下的文件

首先,需要在AndroidManifest.xml中配置写权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

删除文件方法

	public static boolean delFile(String path) {
		if (path != null) {
			File file = new File(path);
			if (file.exists()) {
				if (file.delete())
				{
					return true;
				}
				else
				{
					return false;
				}
			}
		}
		return true;
	}

删除目录及目录下的文件方法

public static boolean deleteDirectory(String dir) {
		// 如果dir不以文件分隔符结尾,自动添加文件分隔符
		if (!dir.endsWith(File.separator))
			dir = dir + File.separator;
		File dirFile = new File(dir);
		// 如果dir对应的文件不存在,或者不是一个目录,则退出
		if ((!dirFile.exists()) || (!dirFile.isDirectory())) {
			System.out.println("删除目录失败:" + dir + "不存在!");
			return false;
		}
                // 用于标识是否删除成功
		boolean flag = true;
		// 删除文件夹中的所有文件包括子目录
		File[] files = dirFile.listFiles();
		for (int i = 0; i < files.length; i++) {
			// 删除子文件
			if (files[i].isFile()) {
				flag = delFile(files[i].getAbsolutePath());
				if (!flag)
					break;
			}
			// 删除子目录
			else if (files[i].isDirectory()) {
				flag = deleteDirectory(files[i]
						.getAbsolutePath());
				if (!flag)
					break;
			}
		}
		if (!flag) {
			System.out.println("删除目录失败!");
			return false;
		}
		// 删除当前目录
		if (dirFile.delete()) {
			System.out.println("删除目录" + dir + "成功!");
			return true;
		} else {
			return false;
		}
	}

猜你喜欢

转载自blog.csdn.net/gis_zhouda/article/details/81325610