İki mutlak yoldan göreli yolu almak için Java Programı

Bu örnekte, String yöntemleri, URI sınıfı ve java.nio.file paketini kullanarak Java'daki iki mutlak yoldan göreli yolu almayı öğreneceğiz.

Örnek 1: URI sınıfını kullanarak iki mutlak yoldan göreli bir yol elde edin

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

Çıktı

 Mutlak Yol1: C: Kullanıcılar Masaüstü Programiz Java Time.java Mutlak Yol2: C: Kullanıcılar Masaüstü Göreli Yol: Programiz / Java / Time.java

Yukarıdaki örnekte, absolutePath1 ve absolutePath2 adında iki mutlak yolumuz var. Mutlak yolları göreceli yola dönüştürmek için URI sınıfını kullandık.

  • Touri () - dönüştüren Filebir nesneyi Uri
  • relativize () - iki mutlak yolu birbiriyle karşılaştırarak göreli yolu çıkarır
  • getPath () - Uri'yi bir dizgeye dönüştürür

Önerilen Okuma :

  • Java Dosyası
  • Java URI sınıfı

Örnek 2: String yöntemlerini kullanarak iki mutlak yoldan göreli bir yol alın

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

Çıktı

 Mutlak Yol1: C: Kullanıcılar Masaüstü Programiz Java Time.java Mutlak Yol2: C: Kullanıcılar Masaüstü Mutlak Yol: Programiz Java Time.java

Yukarıdaki örnekte, dosya yollarını dizelere dönüştürdük. İfadeye dikkat edin,

 absolutePath1.substring(absolutePath2.length())

Burada, substring()yöntem, absolutePath2'nin uzunluğuna eşit olan dizinden başlayarak absolutePath1 parçasını döndürür . Diğer bir deyişle, absolutePath2 ile temsil edilen dize, absolutePath1'den kaldırılır.

Alt dizenin nasıl çalıştığı hakkında daha fazla bilgi edinmek için Java String substring () adresini ziyaret edin.

Örnek 3: java.nio.file paketini kullanarak iki mutlak yoldan göreli bir yol alın

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

Çıktı

 Relative Path: ProgramizJavaTime.java

Yukarıdaki örnekte, iki mutlak yoldan göreceli bir yol elde etmek için arayüz relativize()yöntemini kullandık Path.

Önerilen Okumalar :

  • Java Yolları Sınıfı
  • Java Yolu Arayüzü

Ilginç makaleler...