Ich habe eine Reihe von Klassen entwickelt, die Dateien in Java manipulieren. Ich arbeite an einer Linux-Box und habe selig getippt new File("path/to/some/file");
. Als es an der Zeit war, mich zu verpflichten, erkannte ich, dass einige der anderen Entwickler des Projekts Windows verwenden. Ich möchte nun eine Methode aufrufen, die einen String der Form "/path/to/some/file"
aufnehmen und je nach OS einen korrekt getrennten Pfad zurückgeben kann.Gibt es ein Java-Dienstprogramm, das einen String-Pfad konvertiert, um das korrekte File-Trennzeichen zu verwenden?
Zum Beispiel:
"path/to/some/file"
wird "path\\to\\some\\file"
unter Windows.
Unter Linux gibt es nur die angegebene Zeichenfolge zurück.
Ich weiß, dass es nicht lange dauern würde, um einen regulären Ausdruck, der dies tun könnte, zu knacken, aber ich möchte das Rad nicht neu erfinden und würde eine richtig getestete Lösung bevorzugen. Es wäre schön, wenn es in das JDK eingebaut wäre, aber wenn es Teil einer kleinen F/OSS-Bibliothek ist, ist das auch in Ordnung.
Gibt es also ein Java-Dienstprogramm, das einen String-Pfad konvertiert, um das richtige File-Trennzeichen zu verwenden?
Warum was darauf hindeutet, Menschen behalte das Hinzufügen aufgebläht Abhängigkeiten ein Schreiben zu vermeiden suchen würde Codezeile? – cletus
Ich betrachte Apache Commons nicht als aufgeblähte Abhängigkeit. Es macht so viel, dass ich Apache Commons Lang und IO als nahezu essentiell betrachte. –
Plus, wie viele Bugs finden Sie in einzelnen Codezeilen? Wie viele Annahmen und Edge-Cases werden verpasst? –