यह (आपूर्ति निर्देशिका सहित सभी उप-फ़ाइलों और उप-निर्देशिकाओं को हटाने की कोशिश करता है) :
- यदि
File
, हटाएं
- यदि
Empty Directory
, हटाएं
- यदि
Not Empty Directory
, उप-निर्देशिका के साथ फिर से कॉल हटाएं, तो 1 से 3 दोहराएं
उदाहरण:
File externalDir = Environment.getExternalStorageDirectory()
Utils.deleteAll(externalDir); //BE CAREFUL.. Will try and delete ALL external storage files and directories
बाहरी संग्रहण निर्देशिका तक पहुंच प्राप्त करने के लिए, आपको निम्नलिखित अनुमतियों की आवश्यकता है:
(प्रयोग ContextCompat.checkSelfPermission
और ActivityCompat.requestPermissions
)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
पुनरावर्ती विधि:
public static boolean deleteAll(File file) {
if (file == null || !file.exists()) return false;
boolean success = true;
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null && files.length > 0) {
for (File f : files) {
if (f.isDirectory()) {
success &= deleteAll(f);
}
if (!f.delete()) {
Log.w("deleteAll", "Failed to delete " + f);
success = false;
}
}
} else {
if (!file.delete()) {
Log.w("deleteAll", "Failed to delete " + file);
success = false;
}
}
} else {
if (!file.delete()) {
Log.w("deleteAll", "Failed to delete " + file);
success = false;
}
}
return success;
}