先创建一个删除文件夹内所有文件的方法deleteFile()
public static void deleteFile(File directory){
if (directory.exists()&&directory.isDirectory()){
//获取文件夹中的所有文件
File[] files=directory.listFiles();
if (files!=null){ //判断是否获取文件列表
for (File file:files){
if (file.isDirectory()){
//如果是文件夹,递归删除该文件夹内的内容
deleteFile(file);
}else{
boolean deleted=file.delete();
if (!deleted){
Log.i(TAG,"文件删除失败:"+file.getAbsolutePath());
}
}
}
}
}else {
Log.i(TAG,"目录不存在或者不是目录");
}
}
接着在onClick()中指定要删除文件夹里面的文件,并且调用delete()方法,这一步我是在oncreat()里执行的。
mbt_deletemvtImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File mvtImgDirectory=new File("/sdcard/mvtImg");
deleteFile(mvtImgDirectory);
Toast.makeText(MainActivity.this,"已清空",Toast.LENGTH_SHORT).show();
}
});
最后Android 6.0 以上需要加上权限以保证删除文件时,需要确保应用有适当的文件操作权限;但是最初的时候我没有加上权限好像也能执行
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
案例演示:
没有点击清除键前
点击清除键后