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
File
objek 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 Path
antarmuka untuk mendapatkan jalur relatif dari dua jalur absolut.
Bacaan yang Direkomendasikan :
- Kelas Paths Java
- Antarmuka Jalur Java