खोज…


वाक्य - विन्यास

  • 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)

मौजूदा फ़ाइलों को हटा दिया जाएगा, गैर-मौजूदा फ़ाइलें बनाई जाएंगी।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow