如何从SD卡中删除文件

131

我正在创建一个文件作为电子邮件的附件发送。现在我想在发送电子邮件后删除这个文件中的图像。有没有办法删除这个文件?

我已经尝试过 myFile.delete(); 但它并没有删除这个文件。


我正在使用Android编写代码,所以编程语言是Java,采用通常的Android方式来访问SD卡。我正在 onActivityResult 方法中删除这个文件,当一个 Intent 在发送电子邮件后返回到屏幕上时。


你需要提供更多关于问题的信息,例如你正在使用哪种编程语言,如何访问SD卡等。 - Amok
你是否将更改刷新到磁盘? - Charles Ma
10
我认为可以假设他正在使用Java,因为他没有具体说明。 - Jeremy Logan
14个回答

0
您可以按照以下方式删除文件:
File file = new File("your sdcard path is here which you want to delete");
file.delete();
if (file.exists()){
  file.getCanonicalFile().delete();
  if (file.exists()){
    deleteFile(file.getName());
  }
}

0

这对我有用。

String myFile = "/Name Folder/File.jpg";  

String my_Path = Environment.getExternalStorageDirectory()+myFile;  

File f = new File(my_Path);
Boolean deleted = f.delete();

0
private boolean deleteFromExternalStorage(File file) {
                        String fileName = "/Music/";
                        String myPath= Environment.getExternalStorageDirectory().getAbsolutePath() + fileName;

                        file = new File(myPath);
                        System.out.println("fullPath - " + myPath);
                            if (file.exists() && file.canRead()) {
                                System.out.println(" Test - ");
                                file.delete();
                                return false; // File exists
                            }
                            System.out.println(" Test2 - ");
                            return true; // File not exists
                    }

你需要对你的代码进行一些解释! :) - Sanket Makani
读取文件 getExternalStorageDirectory + 添加 "/Music/" 即为我的路径 -> mypath = /storage/sdcard/Music/。检查文件是否存在并进行读取。如存在则将其删除。这会删除目录 Music 中的所有音乐列表。 - Lâm Nguyễn Tuấn
将相同的内容添加到答案中! :) - Sanket Makani

-1
File filedel = new File("/storage/sdcard0/Baahubali.mp3");
boolean deleted1 = filedel.delete();

或者,试试这个:

String del="/storage/sdcard0/Baahubali.mp3";
File filedel2 = new File(del);
boolean deleted1 = filedel2.delete();

1
你提供的两个例子几乎是一样的。同时,得票最高的答案已经非常明确地告诉了如何做到这一点。我看不出这个答案对问题有什么更多的补充。此外,从Android Kitkat开始,这种方法将无法适用于外部存储器(如SD卡)中的文件。 - Spikatrix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接