Program Java za pridobivanje relativne poti iz dveh absolutnih poti

V tem primeru se bomo naučili dobiti relativno pot iz dveh absolutnih poti v Javi z uporabo metod String, razreda URI in paketa java.nio.file.

Primer 1: Pridobite relativno pot iz dveh absolutnih poti z uporabo razreda 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(); ) ) )

Izhod

 Absolutna pot1: C: Users Desktop Programiz Java Time.java Absolutna pot2: C: Users Desktop Relativna pot: Programiz / Java / Time.java

V zgornjem primeru imamo dve absolutni poti, imenovani absolutePath1 in absolutePath2. Za pretvorbo absolutnih poti v relativno pot smo uporabili razred URI.

  • toURI () - pretvori Fileobjekt v Uri
  • relativize () - izvleče relativno pot s primerjavo dveh absolutnih poti med seboj
  • getPath () - pretvori Uri v niz

Priporočeno branje :

  • Java File
  • Razred Java URI

Primer 2: Z metodami String pridobite relativno pot iz dveh absolutnih poti

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

Izhod

 Absolutna pot1: C: Users Desktop Programiz Java Time.java Absolutna pot2: C: Users Desktop Absolutna pot: Programiz Java Time.java

V zgornjem primeru smo pretvorili poti datotek v nize. Upoštevajte izraz,

 absolutePath1.substring(absolutePath2.length())

Tu substring()metoda vrne del absolutePath1, začenši z indeksom, enakim dolžini absolutePath2. To pomeni, da je niz, ki ga predstavlja absolutna pot2, odstranjen iz absolutne poti1.

Če želite izvedeti več o delovanju podniza, obiščite podniz Niz Java ().

Primer 3: Pridobite relativno pot iz dveh absolutnih poti s pomočjo paketa 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); ) )

Izhod

 Relative Path: ProgramizJavaTime.java

V zgornjem primeru smo uporabili relativize()metodo Pathvmesnika, da dobimo relativno pot iz dveh absolutnih poti.

Priporočena branja :

  • Razred Java Paths
  • Vmesnik poti Java

Zanimive Članki...