इस उदाहरण में, हम स्ट्रिंग तरीकों, URI वर्ग, और java.nio.file पैकेज का उपयोग करके जावा में दो पूर्ण पथों से सापेक्ष पथ प्राप्त करना सीखेंगे।
उदाहरण 1: URI वर्ग का उपयोग करके दो पूर्ण पथों से एक सापेक्ष पथ प्राप्त करें
import java.io.File; import java.net.URI; class Main ( public static void main(String() args) ( try ( // Two absolute paths File absolutePath1 = new File("C:\Users\Desktop\Programiz\Java\Time.java"); System.out.println("Absolute Path1: " + absolutePath1); File absolutePath2 = new File("C:\Users\Desktop"); System.out.println("Absolute Path2: " + absolutePath2); // convert the absolute path to URI URI path1 = absolutePath1.toURI(); URI path2 = absolutePath2.toURI(); // create a relative path from the two paths URI relativePath = path2.relativize(path1); // convert the URI to string String path = relativePath.getPath(); System.out.println("Relative Path: " + path); ) catch (Exception e) ( e.getStackTrace(); ) ) )
आउटपुट
निरपेक्ष Path1: C: Users Desktop Programiz Java Time.java Absolute Path2: C: Users Desktop Relative Path: Programiz / Java / Time.java
उपर्युक्त उदाहरण में, हमारे पास परमपथ 1 और निरपेक्षपथ 2 नामक दो पूर्ण पथ हैं। हमने यूआरआई वर्ग का उपयोग निरपेक्ष पथों को सापेक्ष पथ में परिवर्तित करने के लिए किया है।
- तोरी () -
File
वस्तु को उड़ी में परिवर्तित करता है - relativize () - दो निरपेक्ष पथों की एक दूसरे से तुलना करके आपेक्षिक पथ को निकालता है
- getPath () - उड़ी को एक स्ट्रिंग में परिवर्तित करता है
अनुशंसित पढ़ना :
- जावा फ़ाइल
- जावा यूआरआई वर्ग
उदाहरण 2: स्ट्रिंग विधियों का उपयोग करके दो पूर्ण पथ से एक सापेक्ष पथ प्राप्त करें
import java.io.File; class Main ( public static void main(String() args) ( // Create file objects File file1 = new File("C:\Users\Desktop\Programiz\Java\Time.java"); File file2 = new File("C:\Users\Desktop"); // convert file objects to string String absolutePath1 = file1.toString(); System.out.println("Absolute Path1: " + absolutePath1); String absolutePath2 = file2.toString(); System.out.println("Absolute Path2: " + absolutePath2); // get the relative path String relativePath = absolutePath1.substring(absolutePath2.length()); System.out.println("Absolute Path: " + relativePath); ) )
आउटपुट
निरपेक्ष Path1: C: Users Desktop Programiz Java Time.java Absolute Path2: C: Users Desktop पूर्ण पथ: Programiz Java Time.java
उपरोक्त उदाहरण में, हमने फ़ाइल पथों को स्ट्रिंग में बदल दिया है। अभिव्यक्ति पर ध्यान दें,
absolutePath1.substring(absolutePath2.length())
यहां, substring()
विधि निरपेक्षपाठ 1 के भाग को पूर्णांक 2 की लंबाई के बराबर सूचकांक से शुरू करती है । यही है, निरपेक्षपथ 2 द्वारा दर्शाया गया स्ट्रिंग निरपेक्षता 1 से हटा दिया गया है।
कैसे काम करता है के बारे में अधिक जानने के लिए, जावा स्ट्रिंग प्रतिस्थापन () देखें।
उदाहरण 3: java.nio.file पैकेज का उपयोग करके दो पूर्ण पथों से एक सापेक्ष पथ प्राप्त करें
import java.nio.file.Path; import java.nio.file.Paths; class Main ( public static void main(String() args) ( // Create file objects Path absolutePath1 = Paths.get("C:\Users\Desktop\Programiz\Java\Time.java"); Path absolutePath2 = Paths.get("C:\Users\Desktop"); // convert the absolute path to relative path Path relativePath = absolutePath2.relativize(absolutePath1); System.out.println("Relative Path: " + relativePath); ) )
आउटपुट
Relative Path: ProgramizJavaTime.java
उपरोक्त उदाहरण में, हमने दो निरपेक्ष पथों से एक सापेक्ष पथ प्राप्त करने के लिए इंटरफ़ेस की relativize()
विधि का उपयोग किया है Path
।
अनुशंसित रीडिंग :
- जावा पथ कक्षा
- जावा पथ इंटरफ़ेस