मैं जावा के एनओओ पैकेज में नया हूं और मैं यह नहीं समझ सकता कि एक निर्देशिका से दूसरी निर्देशिका में फ़ाइल कैसे प्राप्त करें। मेरा कार्यक्रम किसी निर्देशिका और इसकी उपनिर्देशिकाओं और प्रक्रियाओं के माध्यम से कुछ शर्तों के आधार पर पढ़ना है। मैं Files.walkFileTree का उपयोग कर सभी फाइलें प्राप्त कर सकता हूं लेकिन जब मैं उन्हें स्थानांतरित करने का प्रयास करता हूं तो मुझे java.nio.file.AccessDeniedException मिलता है।मैं एक फ़ाइल को एक गैर-खाली निर्देशिका में कैसे स्थानांतरित कर सकता हूं?
यदि मैं उन्हें कॉपी करने का प्रयास करता हूं, तो मुझे DirectoryNotEmptyException मिलता है। मुझे Google पर कोई मदद नहीं मिली है। मुझे यकीन है कि फ़ाइल को एक निर्देशिका से दूसरी निर्देशिका में स्थानांतरित करने का एक आसान तरीका होना चाहिए, लेकिन मैं इसे समझ नहीं सकता।
private static void findMatchingPdf(Path file, ArrayList cgbaFiles) {
Iterator iter = cgbaFiles.iterator();
String pdfOfFile = file.getFileName().toString().substring(0, file.getFileName().toString().length() - 5) + ".pdf";
while (iter.hasNext()){
Path cgbaFile = (Path) iter.next();
if (cgbaFile.getFileName().toString().equals(pdfOfFile)) {
try {
Files.move(file, cgbaFile.getParent(), StandardCopyOption.REPLACE_EXISTING);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
मैं फ़ाइलों की एक सूची के माध्यम से पुनरावृत्ति कर रहा हूँ, एक ही नाम का पीडीएफ़ के साथ एक .meta फ़ाइल से मेल करने की कोशिश कर रहा:
यह मुझे लगता है कि क्या कोशिश कर रहा हूँ है DirectoryNotEmptyException हो जाता है। एक बार जब मुझे मैच मिल जाए, तो मैं मेटाडेटा फ़ाइल को उस निर्देशिका में ले जाता हूं जिसमें पीडीएफ है।
मैं इस अपवाद: java.nio.file.DirectoryNotEmptyException: C: \ test \ CGBA-आरएसी \ भाग- एक sun.nio.fs.WindowsFileCopy.move (WindowsFileCopy.java:372) पर पर sun.nio.fs.WindowsFileSystemProvider.move (WindowsFileSystemProvider.java:287) java.nio.file.Files.move (Files.java:1347) cgba.rac.errorprocessor.ErrorProcessor.findMatchingPdf (ErrorProcessor.java: 149) cgba.rac.errorprocessor.ErrorProcessor.matchErrorFile (ErrorProcessor.java:81) cgba.rac.errorprocessor.ErrorProcessor.main पर पर (ErrorProcessor.java:36)
मैं अपने ओपी में कुछ कोड संपादित:
इनमें से एक सही लक्ष्य पथ उत्पन्न करने के लिए चाहिए। – user2406854
संभावित डुप्लिकेट [जावा 7 में किसी निर्देशिका में फ़ाइल की प्रतिलिपि कैसे करें] (http://stackoverflow.com/questions/19694471/how-to-copy-a-file-to-a-directory-in-java- 7) – naXa