如何删除存储文件?

时间:2018-03-20 06:47:34

标签: android

版本Android SDK 5.1

我执行此代码。

String path = Environment.getExternalStorageDirectory().getPath();
String innerPath = "/xxxx/strage/Download/"
StringPath = path + innerPath;

File[] files = new File(targetPath).listFiles();
for(File f:files){
f.delete();
}

执行此代码后,我通过“FileCommander.apk”检查了Dir我确认已删除。 但是当将此Android连接到PC并检查此目录时,不会删除。

请帮帮我。

3 个答案:

答案 0 :(得分:1)

 File file= new File(android.os.Environment.getExternalStorageDirectory(),"MyFolder"); // My Folder is Folder
    if (file.isDirectory())
    {
        listFile = file.listFiles();


        for (int i = 0; i < listFile.length; i++)
        {
     if(String.valueOf(listFile[i].getAbsoluteFile()).equals("/storage/emulated/0/MyFolder/Adu.jpg")){//absolute path
             File f=new File(String.valueOf(listFile[i].getAbsoluteFile()));
             f.delete();
        }

            Log.d(myTag, "Response :  "+listFile[i].getAbsolutePath());
        }
    }

答案 1 :(得分:0)

String innerPath = "/xxxx/strage/Download/"
似乎存在错误。 不应该是String innerPath = "/xxxx/storage/Download/"吗?

答案 2 :(得分:0)

不幸的是,这是谷歌不关心的known old Android bug

简而言之:
有时,根据文件的创建方式,当Android设备作为MTP设备连接到PC时,它不会显示在媒体设备存储中。它们应该在重启后出现(或在你的情况下消失),但是已知的情况下重启也没有帮助。