मुझे पता है कि यह प्रश्न this प्रश्न का एक उग्र डुप्लिकेट है। हालांकि, अब मैंने पूरे पृष्ठ को दो बार पढ़ा है, और कुछ खंड 3 बार, और मेरे जीवन के लिए मैं नहीं देखता कि इसका उत्तर कैसे दिया जाता है!जावा 6 फ़ाइल हटाना
तो, मेरी समस्या पर।
मैं काम पर हूं और जावा 6 एसई का उपयोग कर फंस गया हूं और 7 तक अपग्रेड नहीं कर सकता हूं। मैं एक प्रोग्राम लिख रहा हूं जो एक फाइल बनाता है, लिखता है, कुछ प्रसंस्करण करता है, और फिर फ़ाइल को अस्तित्व से बाहर करने की आवश्यकता होती है। मुझे वही समस्या है जिस व्यक्ति ने ऊपर दिए गए प्रश्न से पूछा है: जावा फ़ाइल को नहीं हटाएगा और मैं यह नहीं समझ सकता कि क्यों।
कोड:
File f = null;
FileWriter fw = null;
try
{
f = new File("myFile.txt");
fw = new FileWriter(f);
fw.write("This is a sentence that should appear in the file.");
fw.flush();
if(f.delete())
System.out.println("File was successfully deleted.");
else
System.err.println("File was not deleted.");
}
catch(Exception exc)
{
System.err.println(exc.getMessage());
}
catch(Error er {
System.err.println(er.getMessage());
}
catch(Throwable t)
{
System.err.println(t.getMessage());
}
finally
{
fw.close();
}
यह किसी भी throwables, त्रुटियों या अपवाद फेंक नहीं है (मैं किसी भी और सभी किनारे मामलों को खारिज करने के लिए उन शामिल)। दूसरा प्रिंट स्टेटमेंट ("File was not deleted."
) कंसोल पर मुद्रित किया जा रहा है। मैं इसे विंडोज 7 पर चला रहा हूं और एक फ़ोल्डर में लिख रहा हूं जहां मेरे पास पूर्ण अनुमतियां हैं (आरडब्ल्यूएक्स)।
उपयोगकर्ता द्वारा दिए गए प्रश्न पूछने वाले उपयोगकर्ता ने अपने प्रश्न का उत्तर दिया, लेकिन ऐसा नहीं है (मेरी विनम्र राय में) एक सीधी-आगे के रास्ते में। किसी भी मामले में, मुझे इसकी समझ में परेशानी हो रही है। वह इस तथ्य की ओर इशारा करते हुए प्रतीत होता है कि का उपयोग FileInputStream
के विपरीत किया गया है, लेकिन मैं नहीं देखता कि यह कैसे लागू होता है।
जावा 7 ने java.nio.file.Files
कक्षा के परिचय के साथ इस समस्या को ठीक किया है, लेकिन फिर से, मैं अपने नियंत्रण के दायरे से बाहर के कारणों के लिए जावा 7 का उपयोग नहीं कर सकता।
उस संदर्भित प्रश्न के अन्य उत्तरदाताओं ने बताया कि यह जावा में "बग" है, और सभी प्रकार के circumventions, जैसे स्पष्ट रूप से System.gc()
आदि को कॉल करना, मैंने इन सभी को आजमाया है और वे काम नहीं कर रहे हैं।
शायद कोई नया परिप्रेक्ष्य जोड़ सकता है और मेरे लिए कुछ सोच जॉग कर सकता है।
मुझे नहीं लगता कि यह एक डुप्लिकेट है। जैसा कि आपने दूसरे प्रश्न से सुझाए गए समाधानों का प्रयास किया है और उन्होंने मदद नहीं की है, यह संभावना है कि कारण अलग है। – finnw
इसे पहले बंद करें। और ... "जावा 6 का उपयोग कर फंस गया?" मैं एक निगम नहीं जानता जो जेडीके 7 पर चल रहा है। मुझे कई लोग जानते हैं जो 1.4 और 1.5 पर हैं। अपने आप को भाग्यशाली मानें। –
कृपया ध्यान दें कि आपने जो कहा है वह विपरीत है: BufferedReader के बजाय FileInputStream का उपयोग करना दूसरे पोस्ट में उपयोगकर्ता के लिए क्या काम करता है। यह क्यों लागू होता है, वहां कुछ टिप्पणी जावा में एक बग का सुझाव देती है। –