Unterschiede zwischen Dateipfaden: File.separator vs. Slash
Obwohl es sowohl unter Windows als auch unter Unix funktioniert, gibt es einen Unterschied zwischen der Verwendung von File. Trennzeichen und ein normales / in einem Java-Pfad-String.
File.separator ist dafür konzipiert Plattformunabhängig und stellt sicher, dass Dateipfade auf verschiedenen Betriebssystemen korrekt interpretiert werden. Es gibt das entsprechende Trennzeichen für die aktuelle Plattform zurück, z. B. „“ unter Windows oder „/“ unter Unix.
Andererseits wird bei der Verwendung eines normalen / davon ausgegangen, dass die aktuelle Plattform „/“ als verwendet Separator. Dies funktioniert zwar für Unix und Windows, ist jedoch möglicherweise nicht universell kompatibel.
Das folgende Beispiel zeigt den Unterschied:
public class SlashTest { @Test public void slash() throws Exception { File file = new File("src/trials/SlashTest.java"); assertThat(file.exists(), is(true)); } @Test public void separator() throws Exception { File file = new File("src" + File.separator + "trials" + File.separator + "SlashTest.java"); assertThat(file.exists(), is(true)); } }
In diesem Beispiel funktionieren sowohl Schrägstrich als auch Trennzeichen wie erwartet Unix und Windows. Wenn die Anwendung jedoch auf einer Plattform ausgeführt werden würde, die „:“ als Dateitrennzeichen verwendet, würde die Verwendung eines Schrägstrichs zu einem falschen Dateipfad führen, während File.separator sich entsprechend anpassen würde.
Daher wird die Verwendung von File. Trennzeichen wird empfohlen, um plattformübergreifende Kompatibilität sicherzustellen und potenzielle Probleme mit unterschiedlichen Dateipfadtrennzeichen zu vermeiden.
Das obige ist der detaillierte Inhalt vonDateipfade in Java: Wann sollte ich „File.separator' vs. „/' verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!