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 2
getName(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)
, क्योंकि तीन संभावित परिदृश्यों देखते हैं:
- एक फ़ाइल या निर्देशिका का अस्तित्व सत्यापित है (
exists
true
और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/png
PNG फ़ाइलों के लिए 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)
मौजूदा फ़ाइलों को हटा दिया जाएगा, गैर-मौजूदा फ़ाइलें बनाई जाएंगी।