Java programma, lai iegūtu relatīvo ceļu no diviem absolūtiem ceļiem

Šajā piemērā mēs iemācīsimies iegūt relatīvo ceļu no diviem absolūtiem Java ceļiem, izmantojot virknes metodes, URI klasi un java.nio.file pakotni.

1. piemērs: iegūstiet relatīvo ceļu no diviem absolūtiem ceļiem, izmantojot URI klasi

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

Rezultāts

 Absolūtais ceļš1: C: Lietotāji Desktop Programiz Java Time.java Absolūtais ceļš2: C: Lietotāji Desktop Relatīvais ceļš: Programiz / Java / Time.java

Iepriekš minētajā piemērā mums ir divi absolūtie ceļi ar nosaukumu AbsolutePath1 un AbsolutePath2. Mēs esam izmantojuši URI klasi, lai absolūtos ceļus pārvērstu relatīvajā ceļā.

  • toURI () - pārveido Fileobjektu par URI
  • relativize () - iegūst relatīvo ceļu, salīdzinot divus absolūtos ceļus viens ar otru
  • getPath () - pārveido Uri par virkni

Ieteicamā literatūra :

  • Java fails
  • Java URI klase

2. piemērs: iegūstiet relatīvo ceļu no diviem absolūtiem ceļiem, izmantojot virkņu metodes

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

Rezultāts

 Absolūtais ceļš1: C: Lietotāji Desktop Programiz Java Time.java Absolūtais ceļš2: C: Users Desktop Absolūtais ceļš: Programiz Java Time.java

Iepriekš minētajā piemērā failu ceļus esam pārveidojuši par virknēm. Ievērojiet izteicienu,

 absolutePath1.substring(absolutePath2.length())

Šeit substring()metode atgriež absolūtā ceļa1 daļu, sākot no indeksa, kas vienāds ar absolūtā ceļa 2 garumu. Tas ir, virkne, kuru attēlo absolūtais ceļš2, tiek noņemta no absolūtā ceļa1.

Lai uzzinātu vairāk par apakšvirknes darbību, apmeklējiet Java virkņu apakšvirkni ().

3. piemērs: iegūstiet relatīvo ceļu no diviem absolūtiem ceļiem, izmantojot paketi 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); ) )

Rezultāts

 Relative Path: ProgramizJavaTime.java

Iepriekš minētajā piemērā mēs izmantojām saskarnes relativize()metodi, Pathlai iegūtu relatīvo ceļu no diviem absolūtiem ceļiem.

Ieteicamie lasījumi :

  • Java ceļu klase
  • Java ceļa saskarne

Interesanti raksti...