Program Java untuk Mendapatkan jalur relatif dari dua jalur absolut

Dalam contoh ini, kita akan belajar mendapatkan jalur relatif dari dua jalur absolut di Java menggunakan metode String, kelas URI, dan paket java.nio.file.

Contoh 1: Dapatkan jalur relatif dari dua jalur absolut menggunakan kelas 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(); ) ) )

Keluaran

 Jalur Mutlak1: C: Users Desktop Programiz Java Time.java Jalur Mutlak2: C: Users Desktop Relatif Path: Programiz / Java / Time.java

Dalam contoh di atas, kami memiliki dua jalur absolut bernama absolutePath1 dan absolutePath2. Kami telah menggunakan kelas URI untuk mengubah jalur absolut menjadi jalur relatif.

  • toURI () - mengonversi Fileobjek menjadi Uri
  • relativize () - mengekstrak jalur relatif dengan membandingkan dua jalur absolut satu sama lain
  • getPath () - mengubah Uri menjadi string

Bacaan yang Direkomendasikan :

  • File Java
  • Kelas URI Java

Contoh 2: Dapatkan jalur relatif dari dua jalur absolut menggunakan metode String

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

Keluaran

 Jalur Mutlak1: C: Users Desktop Programiz Java Time.java Jalur Mutlak2: C: Users Desktop Absolute Path: Programiz Java Time.java

Dalam contoh di atas, kami telah mengonversi jalur file menjadi string. Perhatikan ekspresinya,

 absolutePath1.substring(absolutePath2.length())

Di sini, substring()metode mengembalikan bagian absolutePath1 mulai dari indeks yang sama dengan panjang absolutePath2. Artinya, string yang diwakili oleh absolutePath2 dihapus dari absolutePath1.

Untuk mempelajari lebih lanjut tentang cara kerja substring, kunjungi Java String substring ().

Contoh 3: Dapatkan jalur relatif dari dua jalur absolut menggunakan paket 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); ) )

Keluaran

 Relative Path: ProgramizJavaTime.java

Dalam contoh di atas, kami telah menggunakan relativize()metode Pathantarmuka untuk mendapatkan jalur relatif dari dua jalur absolut.

Bacaan yang Direkomendasikan :

  • Kelas Paths Java
  • Antarmuka Jalur Java

Artikel yang menarik...