2

如何以编程方式删除数据或格式化整个 SD 卡?

4

3 回答 3

5

擦除 SDCARD 的代码

public void wipingSdcard() {
        File deleteMatchingFile = new File(Environment
                .getExternalStorageDirectory().toString());
        try {
            File[] filenames = deleteMatchingFile.listFiles();
            if (filenames != null && filenames.length > 0) {
                for (File tempFile : filenames) {
                    if (tempFile.isDirectory()) {
                        wipeDirectory(tempFile.toString());
                        tempFile.delete();
                    } else {
                        tempFile.delete();
                    }
                }
            } else {
                deleteMatchingFile.delete();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void wipeDirectory(String name) {
        File directoryFile = new File(name);
        File[] filenames = directoryFile.listFiles();
        if (filenames != null && filenames.length > 0) {
            for (File tempFile : filenames) {
                if (tempFile.isDirectory()) {
                    wipeDirectory(tempFile.toString());
                    tempFile.delete();
                } else {
                    tempFile.delete();
                }
            }
        } else {
            directoryFile.delete();
        }
    }
于 2011-03-04T08:55:16.793 回答
0

尝试阅读这篇文章如何从 SD 卡中删除文件?

于 2011-01-20T16:48:21.047 回答
0

通过使用 File 类,您应该能够列出 SDCard 上的所有文件并一一删除它们。您将创建一个递归函数来删除目录。然而,这不是一个好主意,操作系统可能会阻止您删除系统或其他用户使用的某些文件/文件夹。

于 2011-01-20T16:52:57.603 回答