Java program a relatív elérési út lekéréséhez két abszolút útról

Ebben a példában megtanuljuk megszerezni a relatív útvonalat a Java két abszolút útvonalából a String metódusok, az URI osztály és a java.nio.file csomag használatával.

1. példa: Szerezzen relatív elérési utat két abszolút útvonalról az URI osztály használatával

 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(); ) ) )

Kimenet

 Abszolút elérési út1: C: Users Desktop Programiz Java Time.java Abszolút elérési út2: C: Users Desktop relatív elérési út: Programiz / Java / Time.java

A fenti példában két abszolút útvonal áll rendelkezésünkre, abszolútPath1 és absolutPath2 néven. Az URI osztály segítségével átalakítottuk az abszolút útvonalakat a relatív útvonalakká.

  • toURI () - átalakítja a Fileobjektumot egy Uri
  • relativize () - kivonja a relatív utat két abszolút út összehasonlításával
  • getPath () - az Uri-t karakterlánczá alakítja

Ajánlott irodalom :

  • Java fájl
  • Java URI osztály

2. példa: Kapjon meg egy relatív elérési utat két abszolút útról String módszerekkel

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

Kimenet

 Abszolút elérési út1: C: Felhasználók Desktop Programiz Java Time.java Abszolút elérési út2: C: Users Desktop Abszolút elérési út: Programiz Java Time.java

A fenti példában a fájl elérési útját karakterláncokká alakítottuk át. Figyelje meg a kifejezést,

 absolutePath1.substring(absolutePath2.length())

Itt a substring()módszer az absolutPath1 azon részét adja vissza, amely indexből indul ki, és egyenlő az abszolútPath2 hosszával. Vagyis az absolutPath2 által reprezentált karaktersorozat eltávolításra kerül az abszolútPath1-ből.

Ha többet szeretne megtudni a szubsztring működéséről, látogasson el a Java karakterlánc sztringre ().

3. példa: A java.nio.file csomag segítségével kapjon meg egy relatív elérési utat két abszolút útvonalról

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

Kimenet

 Relative Path: ProgramizJavaTime.java

A fenti példában relativize()az Pathinterfész módszerét alkalmaztuk , hogy relatív utat kapjunk két abszolút útról.

Ajánlott olvasmányok :

  • Java Paths osztály
  • Java Path Interface

érdekes cikkek...