Š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
File
objektu 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, Path
lai iegūtu relatīvo ceļu no diviem absolūtiem ceļiem.
Ieteicamie lasījumi :
- Java ceļu klase
- Java ceļa saskarne