"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > फ़ाइल अस्तित्व और अनुमतियों के बावजूद File.delete() गलत रिटर्न क्यों देता है?

फ़ाइल अस्तित्व और अनुमतियों के बावजूद File.delete() गलत रिटर्न क्यों देता है?

2024-11-17 को प्रकाशित
ब्राउज़ करें:297

Why Does File.delete() Return False Despite File Existence and Permissions?

File.delete() अस्तित्व और अनुमतियों की जांच के बावजूद गलत रिटर्न देता है

FileOutputStream का उपयोग करके किसी फ़ाइल को लिखने के बाद उसे हटाने का प्रयास करते समय, कुछ उपयोगकर्ताओं को एक अप्रत्याशित समस्या का सामना करना पड़ता है file.delete() गलत रिटर्न देता है। फ़ाइल के मौजूदा होने और सभी अनुमति जांचों (.exists(), .canRead(), .canWrite(), .canExecute()) के सही होने के बावजूद ऐसा होता है।

आगे की जांच करने पर, ऐसा प्रतीत होता है कि एक सूक्ष्म बग है जावा में मौजूद है, जो सभी आवश्यक शर्तें पूरी होने पर भी सफल फ़ाइल विलोपन को रोक सकता है। इस समस्या को हल करने के लिए, फ़ाइल को हटाने से पहले System.gc() को कॉल करना महत्वपूर्ण है।

निम्नलिखित कोड स्निपेट इस समाधान को मूल राइटकंटेंट विधि में शामिल करता है:

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();
    } finally {
        try {
            to.close(); // Close the stream as before
            System.gc(); // Call System.gc() to force garbage collection
        } catch (IOException e) {
            // TODO Handle IOException
        }
    }
}
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3