Paths.get - указать платформу? - PullRequest
0 голосов
/ 10 января 2019

Я работаю над приложением, которое разрабатывается как для Mac, так и для Windows. Мы генерируем несколько путей к файлам и хотим, чтобы все сгенерированные пути были в формате UNIX с косой чертой. Вызов Paths.get(...) на машине с Windows дает пути с обратными слешами, но я хочу, чтобы он получал пути с косыми чертами.

Я не смог найти документацию о "настройке" или указании используемого разделителя пути.

1 Ответ

0 голосов
/ 10 января 2019

Я тоже пытался найти это некоторое время назад, но это невозможно. Это статический метод в Paths.get(...)

java.nio.file.FileSystems#getDefault

, которое возвращает статическое конечное поле

static final FileSystem defaultFileSystem = defaultFileSystem();

и java.nio.file.FileSystems.DefaultFileSystemHolder#defaultFileSystem обнаружит вашу файловую систему.

Но в случае FileSystem тип косой черты жестко закодирован: https://github.com/frohoff/jdk8u-jdk/blob/master/src/windows/classes/sun/nio/fs/WindowsFileSystem.java#L249

Так что я думаю, что самый простой способ для вас - использовать что-то вроде https://docs.oracle.com/javase/8/docs/api/java/util/StringJoiner.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...