Заставьте Java getAbsolutePath () вернуть косую черту на всех машинах - PullRequest
1 голос
/ 03 июля 2019

В Windows File::getAbsolutePath() будет возвращать косые черты в путях;в UNIX - прямая косая черта.

Поскольку обе версии являются допустимыми именами файлов на компьютере Windows, возможно ли заставить File::getAbsolutePath() (и связанные функции) всегда возвращать прямая косая черта версия имени файла?

1 Ответ

1 голос
/ 03 июля 2019

Вы можете использовать такую ​​функцию, как replaceAll(), чтобы заменить любую обратную косую черту в пути на прямую косую черту.Это будет выглядеть так:

String oldPath = "path\\dzq\\dzqf";
String newPath = old.replaceAll("\\", "/");

Более подробная информация о replaceAll() здесь: https://www.javatpoint.com/java-string-replaceall и здесь: https://howtodoinjava.com/java/string/java-string-replaceall-example/

Функции, возвращающие вам путь, всегда используют платформуразделитель по умолчанию: https://www.journaldev.com/851/java-file-separator-separatorchar-pathseparator-pathseparatorchar

...