我正在尝试从内部存储中删除我的文件夹,但我正在使用的代码实际上并没有工作。有什么想法吗?
Button login = (Button) findViewById(R.id.login_btn);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = "/data/data/"+context.getPackageName()+"/files/";
Log.e("","path : "+name);
File myDir = new File(name);
myDir.delete();
boolean iff = myDir.delete();
Log.e("","iff : "+iff);
}
});
点击按钮后得到的结果:
11-17 13:09:58.869: E/(15952): path : /data/data/com.android.test/files/
11-17 13:09:58.869: E/(15952): iff : false
答案 0 :(得分:7)
您要删除文件两次,只检查第二次删除的返回值。
如果文件不存在而您在其上调用delete(),则结果为“false”(文件未被删除,因为它不存在)。
答案 1 :(得分:4)
File.delete()只会删除空目录。 您需要(递归地)首先删除目录的内容。 已经回答here。 (因为这是一个SO答案,我不会复制并粘贴到这里的答案)