Добавить имя файла в объект Path - PullRequest
1 голос
/ 27 июня 2019

У меня есть объект Path, ведущий к папке.

Path pathToFolder = Paths.get( "/Users/someuser/" );

… или рекомендуемый способ использования Path.of:

Path pathToFolder = Path.of( "/Users/someuser/" );

Я хочу создать файл с именем "what.text" в этой папке, используя Files.newBufferedWriter, где я передаю Path объект.

BufferedWriter writer = Files.newBufferedWriter( pathToFile ) ;

Как мне преобразовать pathToFolder, чтобы получить Path объект pathToFile?

Мне нужно больше, чем просто манипулирование строками, так как это мягкие значения, определенные во время выполнения. И я тоже пытаюсь быть кроссплатформенным.

Это кажется очевидным вопросом, но я не смог найти ни одного существующего сообщения (терминология затрудняет поиск).

1 Ответ

5 голосов
/ 27 июня 2019

Вы ищете Path.resolve():

Преобразует заданную строку пути в путь и разрешает ее в соответствии с этим путем точно так, как указано методом разрешения. Например, предположим, что разделителем имен является «/», а путь представляет «foo / bar», а затем вызов этого метода со строкой пути «gus» приведет к пути «foo / bar / gus».

Так что вы должны использовать это:

Path pathToFolder = Path.of("/Users/someuser/");
Path pathToFile = pathToFolder.resolve("your-file-name");
BufferedWriter writer = Files.newBufferedWriter(pathToFile);
...