Java Language
नई फ़ाइल I / O
खोज…
वाक्य - विन्यास
- Paths.get (स्ट्रिंग पहले, स्ट्रिंग ... और अधिक) // अपने स्ट्रिंग तत्वों द्वारा एक पथ उदाहरण बनाता है
- Paths.get (URI uri) // एक URI द्वारा पथ उदाहरण बनाता है
रास्ते बना रहे हैं
Path class का उपयोग प्रोग्राममैटिकली करने के लिए किया जाता है जो फ़ाइल सिस्टम में एक पथ का प्रतिनिधित्व करता है (और इसलिए फाइलों के साथ-साथ निर्देशिकाओं, यहां तक कि गैर-मौजूद लोगों को भी इंगित कर सकता है)
एक पथ सहायक वर्ग Paths का उपयोग करके प्राप्त किया जा सकता है:
Path p1 = Paths.get("/var/www");
Path p2 = Paths.get(URI.create("file:///home/testuser/File.txt"));
Path p3 = Paths.get("C:\\Users\\DentAr\\Documents\\HHGTDG.odt");
Path p4 = Paths.get("/home", "arthur", "files", "diary.tex");
किसी पथ के बारे में जानकारी प्राप्त करना
पथ के बारे में जानकारी Path ऑब्जेक्ट के तरीकों का उपयोग करके प्राप्त की जा सकती है:
toString()पथ का स्ट्रिंग प्रतिनिधित्व लौटाता हैPath p1 = Paths.get("/var/www"); // p1.toString() returns "/var/www"getFileName()फ़ाइल नाम (या, विशेष रूप से, पथ का अंतिम तत्वgetFileName()लौटाता हैPath p1 = Paths.get("/var/www"); // p1.getFileName() returns "www" Path p3 = Paths.get("C:\\Users\\DentAr\\Documents\\HHGTDG.odt"); // p3.getFileName() returns "HHGTDG.odt"getNameCount()पथ बनाने वाले तत्वों की संख्या लौटाता हैPath p1 = Paths.get("/var/www"); // p1.getNameCount() returns 2getName(int index)दिए गए इंडेक्स में तत्व देता हैPath p1 = Paths.get("/var/www"); // p1.getName(0) returns "var", p1.getName(1) returns "www"getParent()मूल निर्देशिका का पथ लौटाता हैPath p1 = Paths.get("/var/www"); // p1.getParent().toString() returns "/var"getRoot()पथ का मूल लौटाता हैPath p1 = Paths.get("/var/www"); // p1.getRoot().toString() returns "/" Path p3 = Paths.get("C:\\Users\\DentAr\\Documents\\HHGTDG.odt"); // p3.getRoot().toString() returns "C:\\"
पथों का हेरफेर
दो रास्तों से जुड़ना
resolve() विधि का उपयोग करके पथों को जोड़ा जा सकता है। पास किया गया पथ आंशिक पथ होना चाहिए, जो एक पथ है जिसमें मूल तत्व शामिल नहीं है।
Path p5 = Paths.get("/home/");
Path p6 = Paths.get("arthur/files");
Path joined = p5.resolve(p6);
Path otherJoined = p5.resolve("ford/files");
joined.toString() == "/home/arthur/files"
otherJoined.toString() == "/home/ford/files"
एक मार्ग को सामान्य करना
पथ में तत्व हो सकते हैं . (जो आपके द्वारा वर्तमान में ली गई निर्देशिका की ओर इशारा करता है) और .. (जो मूल निर्देशिका की ओर इशारा करता है)।
जब एक पथ में इस्तेमाल किया, . पथ के गंतव्य को बदले बिना किसी भी समय हटाया जा सकता है, और .. पूर्ववर्ती तत्व के साथ एक साथ हटाया जा सकता है।
पथ API के साथ, यह .normalize() विधि का उपयोग करके किया जाता है:
Path p7 = Paths.get("/home/./arthur/../ford/files");
Path p8 = Paths.get("C:\\Users\\.\\..\\Program Files");
p7.normalize().toString() == "/home/ford/files"
p8.normalize().toString() == "C:\\Program Files"
फाइलसिस्टम का उपयोग करके पुनः प्राप्त जानकारी
फाइलसिस्टम के साथ इंटरैक्ट करने के लिए आप क्लास Files के तरीकों का इस्तेमाल करते हैं।
अस्तित्व की जाँच
फ़ाइल या निर्देशिका के अस्तित्व की जाँच करने के लिए, आप निम्न विधियों का उपयोग करते हैं:
Files.exists(Path path)
तथा
Files.notExists(Path path)
!Files.exists(path) जरूरी करने के लिए बराबर होना जरूरी नहीं है Files.notExists(path) , क्योंकि तीन संभावित परिदृश्यों देखते हैं:
- एक फ़ाइल या निर्देशिका का अस्तित्व सत्यापित है (
existstrueऔरnotExistsइस मामले मेंfalseहै) - एक फाइल या निर्देशिका के अनअस्तित्व verfied है (
existsरिटर्नfalseऔरnotExistsरिटर्नtrue) - न तो अस्तित्व और न ही किसी फ़ाइल या निर्देशिका का कोई अस्तित्व सत्यापित किया जा सकता है (उदाहरण के लिए एक्सेस प्रतिबंधों के कारण): दोनों
existsऔरnonExists-nonExistsझूठे हैं।
जाँच रहा है कि एक पथ एक फ़ाइल या एक निर्देशिका को इंगित करता है या नहीं
यह Files.isDirectory(Path path) और Files.isRegularFile(Path path) का उपयोग करके किया जाता है
Path p1 = Paths.get("/var/www");
Path p2 = Paths.get("/home/testuser/File.txt");
Files.isDirectory(p1) == true
Files.isRegularFile(p1) == false
Files.isDirectory(p2) == false
Files.isRegularFile(p2) == true
गुण प्राप्त करना
यह निम्नलिखित विधियों का उपयोग करके किया जा सकता है:
Files.isReadable(Path path)
Files.isWritable(Path path)
Files.isExecutable(Path path)
Files.isHidden(Path path)
Files.isSymbolicLink(Path path)
MIME प्रकार प्राप्त करना
Files.probeContentType(Path path)
यह MIME प्रकार की फ़ाइल प्राप्त करने का प्रयास करता है। यह एक MIME प्रकार स्ट्रिंग लौटाता है, जैसे:
-
text/plainफ़ाइलों के लिएtext/plain - HTML पृष्ठों के लिए
text/html - पीडीएफ फाइलों के लिए
application/pdf -
image/pngPNG फ़ाइलों के लिए png
फाइलें पढ़ना
फाइलें क्लास का उपयोग करके Files बाइट- और लाइन-वाइज पढ़ा जा सकता है।
Path p2 = Paths.get(URI.create("file:///home/testuser/File.txt"));
byte[] content = Files.readAllBytes(p2);
List<String> linesOfContent = Files.readAllLines(p2);
Files.readAllLines() वैकल्पिक रूप से पैरामीटर के रूप में एक charset लेता है (डिफ़ॉल्ट StandardCharsets.UTF_8 ):
List<String> linesOfContent = Files.readAllLines(p2, StandardCharsets.ISO_8859_1);
फाइलें लिखना
फ़ाइलें वर्ग का उपयोग करके Files काटने- और लाइन-वार लिखा जा सकता है
Path p2 = Paths.get("/home/testuser/File.txt");
List<String> lines = Arrays.asList(
new String[]{"First line", "Second line", "Third line"});
Files.write(p2, lines);
Files.write(Path path, byte[] bytes)
मौजूदा फ़ाइलों को हटा दिया जाएगा, गैर-मौजूदा फ़ाइलें बनाई जाएंगी।