android 删除路径文件内容,Android 删除已知路径的文件或文件夹

转载:https://blog.csdn.net/qq_31939617/article/details/89414714

【功能】

delete(String delFile):删除文件或文件夹

deleteSingleFile(String filePath$Name):删除单文件

deleteDirectory(String filePath):删除文件夹及其中的内容

【说明】

1、delete方法调用了deleteSingleFile方法和deleteDirectory方法;

2、deleteDirectory方法调用了deleteSingleFile方法;

3、三个方法放在一起,使用时使用delete方法即可,也可以单独使用deleteSingleFile方法和deleteDirectory方法。

DeleteUtil.class

import android.util.Log;

import android.widget.Toast;

import java.io.File;

public class DeleteUtil {

/** 删除文件,可以是文件或文件夹

* @param delFile 要删除的文件夹或文件名

* @return 删除成功返回true,否则返回false

*/

public boolean delete(String delFile) {

File file = new File(delFile);

if (!file.exists()) {

Toast.makeText(MyApplication.getContext(), "删除文件失败:" + delFile + "不存在!", Toast.LENGTH_SHORT).show();

return false;

} else {

if (file.isFile())

return deleteSingleFile(delFile);

else

return deleteDirectory(delFile);

}

}

/** 删除单个文件

* @param filePath$Name 要删除的文件的文件名

* @return 单个文件删除成功返回true,否则返回false

*/

private boolean deleteSingleFile(String filePath$Name) {

File file = new File(filePath$Name);

// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除

if (file.exists() && file.isFile()) {

if (file.delete()) {

Log.e("--Method--", "Copy_Delete.deleteSingleFile: 删除单个文件" + filePath$Name + "成功!");

return true;

} else {

Toast.makeText(MyApplication.getContext(), "删除单个文件" + filePath$Name + "失败!", Toast.LENGTH_SHORT).show();

return false;

}

} else {

Toast.makeText(MyApplication.getContext(), "删除单个文件失败:" + filePath$Name + "不存在!", Toast.LENGTH_SHORT).show();

return false;

}

}

/** 删除目录及目录下的文件

* @param filePath 要删除的目录的文件路径

* @return 目录删除成功返回true,否则返回false

*/

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(MyApplication.getContext(), "删除目录失败:" + 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(MyApplication.getContext(), "删除目录失败!", Toast.LENGTH_SHORT).show();

return false;

}

// 删除当前目录

if (dirFile.delete()) {

Log.e("--Method--", "Copy_Delete.deleteDirectory: 删除目录" + filePath + "成功!");

return true;

} else {

Toast.makeText(MyApplication.getContext(), "删除目录:" + filePath + "失败!", Toast.LENGTH_SHORT).show();

return false;

}

}

}

标签:Toast,文件,return,删除,filePath,路径,文件夹,file,Android

来源: https://www.cnblogs.com/la66/p/11948884.html

  • 0
    点赞
  • 1
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值