मैं कुछ लिखने के बाद फ़ाइल को हटाने का प्रयास कर रहा हूं इसमें FileOutputStream
के साथ। इस कोड मैं लिखने के लिए उपयोग करते हैं:file.delete() फ़ाइल लौटता है भले ही file.exists(), file.canRead(), file.canWrite(), file.canExecute() सभी सही वापसी
private void writeContent(File file, String fileContent) {
FileOutputStream to;
try {
to = new FileOutputStream(file);
to.write(fileContent.getBytes());
to.flush();
to.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
के रूप में यह देखा जाता है, मैं फ्लश और धारा बंद करते हैं, लेकिन जब मैं हटाने का प्रयास, file.delete()
रिटर्न झूठी।
मैं हटाए जाने से पहले जाँच की है, तो फ़ाइल मौजूद है को देखने के लिए, और: file.exists()
, file.canRead()
, file.canWrite()
, file.canExecute()
सभी सच्चे लौट आते हैं। इन विधियों को कॉल करने के बाद मैं file.delete()
आज़माएं और झूठी वापसी करता हूं।
क्या मैंने कुछ भी गलत किया है?
मुझे लगता है कि कोई अपवाद नहीं पकड़ा है उल्लेख करना भूल गया
यहाँ मेरी कोड है। –
क्या आप सुनिश्चित हैं कि फ़ाइल किसी अन्य प्रक्रिया द्वारा उपयोग नहीं की जाती है? क्या आपने इसे बंद कर दिया? क्या यह deleteOnExit + बाहर निकलने के साथ काम करता है? –
आप किस ओएस पर चल रहे हैं? क्या आप फ़ाइल को मैन्युअल रूप से हटा सकते हैं? फ़ाइल में खुले हैंडल हो सकता है। – akarnokd