使用File.delete()和Uri删除文件

时间:2017-07-27 18:35:07

标签: java android

我正在尝试删除文件,但文件没有被删除,我的应用程序没有丢失任何错误。以下是我的代码:

final File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + '/' + "howmany.txt");

    Uri uri = Uri.fromFile(file);
    Boolean k = new File(uri.getPath()).delete();
    if(k){
        Toast.makeText(getApplicationContext(), "DELETED", Toast.LENGTH_SHORT).show();
    }

我在检查权限后立即放置此代码,根据我的理解,.delete()如果操作完成则返回true,所以如果是,我想显示吐司但是toast永远不会显示。最奇怪的是,我没有得到任何错误,但它只是没有工作。

1 个答案:

答案 0 :(得分:1)

您不需要创建文件对象的Uri,然后从该Uri创建文件对象。只需删除文件对象并从中获取布尔结果。您也不需要创建k布尔值。您只需测试删除本身:

final File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + '/' + "howmany.txt");
if (file.delete()) 
    Toast.makeText(getApplicationContext(), "DELETED", Toast.LENGTH_SHORT).show();