English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java Kontrollfluss

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Sammlung

Java Set-Sammlung

Java Eingabe-Ausgabe (I/O)

Java Reader/Writer

Andere Java-Themen

Java-Programm ermittelt relative Pfade aus zwei absoluten Pfaden

   Java Beispiele大全

In diesem Beispiel lernen wir, wie man mit String-Methode, URI-Klasse und java.nio.file-Paket aus zwei absoluten Pfaden in Java relative Pfade ermittelt.

Beispiel1Relative Pfade aus zwei absoluten Pfaden mit URI-Klasse ermitteln

import java.io.File;
import java.net.URI;
class Main {}}
  public static void main(String[] args) {
    try {
      //Zwei absolute Pfade
      File absolutePath1 = new File("C:\\Users\\Desktop\\w3codebox\Java\Time.java");
      System.out.println("Absoluter Pfad1: " + absolutePath1);
      File absolutePath2 = new File("C:\\Users\\Desktop");
      System.out.println("Absoluter Pfad2: " + absolutePath2);
      //Absolute Pfade in URI umwandeln
      URI path1 = absolutePath1.toURI();
      URI path2 = absolutePath2.toURI();
      //Relative Pfade aus zwei Pfaden erstellen
      URI relativePath = path2.relativize(path)1);
      //URI in eine Zeichenkette umwandeln
      String path = relativePath.getPath();
      System.out.println("Relativer Pfad: " + path);
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgaberesultat

Absoluter Pfad1: C:\Users\Desktop\w3codebox\Java\Time.java
Absoluter Pfad2: C:\Users\Desktop
Relativer Pfad: w3codebox/Java/Time.java

Im obigen Beispiel haben wir zwei Dateien namens absolutePath1 und absolutePath2 Absoluten Pfad. Wir haben die URI-Klasse verwendet, um den absoluten Pfad in einen relativen Pfad umzuwandeln.

  • .toURI() - konvertieren Sie File-Objekte inUri

  • .relativize() - Durch das Vergleichen der beiden absoluten Pfade wird der relative Pfad extrahiert

  • .getPath() - URI in eine Zeichenkette umwandeln

Beispiel2Verwenden Sie die String-Methode, um relative Pfade von zwei absoluten Pfaden zu erhalten

import java.io.File;
class Main {}}
  public static void main(String[] args) {
    //Dateiobjekt erstellen
    File file1 = new File("C:\\Users\\Desktop\\w3codebox\Java\Time.java");
    File file2 = new File("C:\\Users\\Desktop");
    // konvertieren Sie Dateiobjekte in Zeichenketten
    String absolutePath1 = file1.toString();
    System.out.println("Absoluter Pfad1: " + absolutePath1);
    String absolutePath2 = file2.toString();
    System.out.println("Absoluter Pfad2: " + absolutePath2);
    //erhalten relative Pfade
    String relativePath = absolutePath1.substring(absolutePath2.length());
    System.out.println("Absoluter Pfad: " + relativePath);
  }
}

Ausgaberesultat

Absoluter Pfad1: C:\Users\Desktop\w3codebox\Java\Time.java
Absoluter Pfad2: C:\Users\Desktop
Absoluter Pfad: \w3codebox\Java\Time.java

Im obigen Beispiel konvertieren wir den Dateipfad in eine Zeichenkette. Beachten Sie den Ausdruck

absolutePath1.substring(absolutePath2).length())

hier gibt die Methode substring ()1einem Teil, von der Indizierung gleich2von der Länge beginnen. Das bedeutet, von1entfernen2 dargestellte Zeichenkette.

Für mehr Informationen darüber, wie Substrings funktionieren, besuchen SieJava String substring().

Beispiel3Verwenden Sie das Paket java.nio.file, um relative Pfade von zwei absoluten Pfaden zu erhalten

import java.nio.file.Path;
import java.nio.file.Paths;
class Main {}}
  public static void main(String[] args) {
    //Dateiobjekt erstellen
    Path absolutePath1 = Paths.get("C:\\Users\\Desktop\\w3codebox\Java\Time.java");
    Path absolutePath2 = Paths.get("C:\\Users\\Desktop");
    //Absolute Pfade in relative Pfade umwandeln
    Path relativePath = absolutePath2.relativize(absolutePath1);
    System.out.println("Relativer Pfad: " + relativePath);
  }
}

Ausgaberesultat

Relativer Pfad: w3codebox\Java\Time.java

In den obigen Beispielen haben wir die Methode relativize() der Path-Schnittstelle verwendet, um Relative-Pfade aus zwei absoluten Pfaden zu erhalten.

Java Beispiele大全