如何以编程方式格式化SD卡上的所有数据?

时间:2011-01-20 16:39:53

标签: android sd-card

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

3 个答案:

答案 0 :(得分: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();
        }
    }

答案 1 :(得分:0)

答案 2 :(得分:0)

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