Java program za dobivanje relativnog puta iz dva apsolutna puta

U ovom ćemo primjeru naučiti dobiti relativni put iz dva apsolutna putanja u Javi koristeći String metode, URI klasu i paket java.nio.file.

Primjer 1: Nabavite relativni put iz dvije apsolutne staze pomoću URI klase

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

Izlaz

 Apsolutni put1: C: Users Desktop Programiz Java Time.java Apsolutni put2: C: Users Desktop Relativni put: Programiz / Java / Time.java

U gornjem primjeru imamo dva apsolutna puta koja se nazivaju absolutePath1 i absolutePath2. Klasu URI koristili smo za pretvaranje apsolutnih staza u relativni put.

  • toURI () - pretvara Fileobjekt u Uri
  • relativize () - izdvaja relativni put uspoređujući dva apsolutna puta jedan s drugim
  • getPath () - pretvara Uri u niz

Preporučena literatura :

  • Java datoteka
  • Java URI klasa

Primjer 2: Dobijte relativni put iz dva apsolutna puta koristeći String metode

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

Izlaz

 Apsolutni put1: C: Users Desktop Programiz Java Time.java Apsolutni put2: C: Users Desktop Apsolutni put: Programiz Java Time.java

U gornjem primjeru pretvorili smo staze datoteka u nizove. Primijetite izraz,

 absolutePath1.substring(absolutePath2.length())

Ovdje substring()metoda vraća dio absolutePath1 počevši od indeksa jednakog duljini absolutePath2. Odnosno, niz predstavljen apsolutnim putem2 uklanja se iz apsolutnog puta1.

Da biste saznali više o tome kako funkcionira podniz, posjetite podniz stringa Java String ().

Primjer 3: Nabavite relativni put iz dvije apsolutne staze pomoću 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); ) )

Izlaz

 Relative Path: ProgramizJavaTime.java

U gornjem primjeru koristili smo relativize()metodu Pathsučelja za dobivanje relativnog puta iz dva apsolutna puta.

Preporučena čitanja :

  • Razred Java Paths
  • Sučelje Java Path

Zanimljivi članci...