如何以编程方式删除数据或格式化整个SD卡?
答案 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上的所有文件并逐个删除它们。您将创建一个递归函数来删除目录。但这并不是一个好主意,操作系统可能会阻止您删除系统或其他用户使用的某些文件/文件夹。