Как использовать ~ (относительный каталог) в моем классе Java? - PullRequest
3 голосов
/ 23 октября 2010

Я создаю временный файл на сервере, который кто-то загружает.Пока я тестировал, было нормально использовать полный путь к домашнему каталогу на моей машине.Но теперь, когда мне нужно развернуть его на сервере, я попытался использовать ~, но я получаю

java.io.FileNotFoundException: ~/test/csvFile.csv (No such file or directory)

как мне использовать что-то аналогичное ~ то есть сокращениедомашний каталог в * nix.Я использую пакет java.io.File.

Спасибо.

Ответы [ 5 ]

7 голосов
/ 23 октября 2010
System.getProperty("user.home") ; //will return the path to user home directory.

Если я правильно понял, вы ищете, как получить путь к каталогу пользователя

3 голосов
/ 23 октября 2010

Если вы действительно хотите временный файл, вам следует перестать заботиться о том, в каком каталоге он (обычно) находится, и вместо этого использовать

File tempFile = File.createTempFile("csvFile", ".csv");
3 голосов
/ 23 октября 2010

~ расшифровывается оболочкой Unix, а не вашей программой. Чтобы получить тот же эффект, получите значение «HOME»

System.getenv("HOME")
2 голосов
/ 23 октября 2010

Системное свойство user.home указывает на домашний каталог текущего пользователя.

Однако вместо временных файлов вы можете рассмотреть File.createTempFile().

0 голосов
/ 26 февраля 2017

~ не является относительным каталогом.. является относительным каталогом.~ соответствует значению системного свойства user.home.Однако java.io.File уже содержит несколько методов для временных файлов: используйте их.

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