请问如何以编程方式从SD卡(我的意思是格式化SD卡)中删除所有数据。 我尝试使用它,但它仅用于一个文件。
File file = new File(selectedFilePath);
boolean deleted = file.delete();
答案 0 :(得分:1)
它对我来说很好。
此代码可用于删除SD卡中的所有文件。希望它应该工作。感谢。
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.6 SDK
,则必须同意uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
AndroidManifest.xml 文件中的