मैं विंडोज 7 का उपयोग कर रहा जावा 7 अद्यतन 6 और उसके पाया इस अजीब (कम से कम मेरे लिए) व्यवहार -
मैं दो फ़ाइलों E:\delete1.txt
और E:\delete2.txt
है दोनों पढ़ रहे हैं केवल फ़ाइलें, जब मैं निम्नलिखित यह बिना किसी समस्या के नष्ट कर दिया जाता है की तरह फ़ाइल को नष्ट करने का प्रयास करें -अंतर हटाना (पथ) और फ़ाइल # हटाना()
File file = new File("E:\\delete1.txt");
assertTrue(file.delete());
लेकिन जब मैं की तरह NIO एपीआई का उपयोग कर फ़ाइल को नष्ट निम्नलिखित -
Path path = Paths.get("E:\\delete2.txt");
Files.delete(path);
यह java.nio.file.AccessDeniedException
फेंकता है।
पुराने और नए एनओओ एपीआई के साथ एक ही ऑपरेशन के लिए अलग व्यवहार क्यों?
और यदि आप उन फ़ाइलों को स्वैप करते हैं जिन्हें आप चारों ओर हटा रहे हैं I'e 'एनआईओ 'एपीआई हटाएं' delete1.txt' और पुरानी एपीआई 'फाइल' हटाएं' delete2.txt' क्या होता है? –
किसी भी मामले में nio कॉल विफल रहता है। – Premraj
@MichaelBorgwardt क्यों अजीब? वह बस एक फ़ाइल को हटाने की कोशिश कर रहा है (जो केवल पढ़ने के लिए होता है) – assylias