内部存储中的Android删除文件文件夹不起作用

时间:2011-11-17 11:12:34

标签: android delete-file

我正在尝试从内部存储中删除我的文件夹,但我正在使用的代码实际上并没有工作。有什么想法吗?

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

2 个答案:

答案 0 :(得分:7)

您要删除文件两次,只检查第二次删除的返回值。

如果文件不存在而您在其上调用delete(),则结果为“false”(文件未被删除,因为它不存在)。

答案 1 :(得分:4)

File.delete()只会删除空目录。 您需要(递归地)首先删除目录的内容。 已经回答here。 (因为这是一个SO答案,我不会复制并粘贴到这里的答案)