पीटर लॉरी का जवाब बहुत अच्छा है क्योंकि यह सरल है और कुछ विशेष पर निर्भर नहीं करता है, और यह तरीका है कि आपको इसे करना चाहिए। यदि आपको ऐसी कुछ चीज़ों की आवश्यकता है जो उपनिर्देशिका और उनकी सामग्री को हटा दें, तो पुनरावर्तन का उपयोग करें:
void purgeDirectory(File dir) {
for (File file: dir.listFiles()) {
if (file.isDirectory())
purgeDirectory(file);
file.delete();
}
}
उपनिर्देशिका और उनकी सामग्री (आपके प्रश्न का हिस्सा) को छोड़ने के लिए, इस प्रकार संशोधित करें:
void purgeDirectoryButKeepSubDirectories(File dir) {
for (File file: dir.listFiles()) {
if (!file.isDirectory())
file.delete();
}
}
या, चूंकि आप एक-पंक्ति समाधान चाहते थे:
for (File file: dir.listFiles())
if (!file.isDirectory())
file.delete();
इस तरह के तुच्छ कार्य के लिए बाहरी पुस्तकालय का उपयोग करना एक अच्छा विचार नहीं है जब तक कि आपको इस पुस्तकालय के लिए किसी और चीज की आवश्यकता न हो, इस मामले में मौजूदा कोड का उपयोग करना बेहतर होगा। आप वैसे भी अपाचे पुस्तकालय का उपयोग करते हुए दिखाई देते हैं इसलिए इसकी FileUtils.cleanDirectory()
विधि का उपयोग करें ।