Нахождение временного хранилища файлов в Java

Таким образом, я пишу JAVA-приложение, которое использует Простой хранить данные как XML-файл, но это - hellishly, медленный с большими файлами, когда это хранит на сетевом диске по сравнению с на локальном жестком диске. Таким образом, я хотел бы сохранить его локально прежде, чем скопировать его в желаемое место назначения.

Там некоторый умный путь состоит в том, чтобы найти временное локальное хранилище файлов в Java системно-независимым способом?

Например, что-то, что возвращает что-то такой как c:/temp в окнах, /tmp в Linux, и аналогично для других платформ (таких как Mac). Я мог использовать путь приложения, но проблема состоит в том, что JAVA-приложение запущено от сетевого диска также.

7
задан Spoike 15 March 2010 в 12:30
поделиться

4 ответа

Попробуйте:

String path = System.getProperty("java.io.tmpdir");

См .: http://java.sun.com/javase/6/docs/api/java/lang/System.html#getProperties%28%29

И чтобы добавить его сюда для полноты картины, как wic , упомянутых в его комментарии, есть также методы createTempFile (префикс String, суффикс String) и createTempFile (префикс String, суффикс String, каталог файлов) методы из Java Файл класс.

13
ответ дан 6 December 2019 в 09:59
поделиться

В духе «давайте решим проблему» вместо «давайте ответим на конкретный вопрос»:

Какой тип входного потока вы используете при чтении в Simple? Обязательно используйте BufferedInputStream (или BufferedReader) - в противном случае вы читаете один байт / символ за раз из потока, что будет мучительно медленным при чтении сетевого ресурса.

Вместо того, чтобы копировать файл на локальный диск, выполните буферизацию входных данных, и все будет в порядке.

2
ответ дан 6 December 2019 в 09:59
поделиться
System.getProperty("java.io.tmpdir")

Классы System и Runtime - это те, чьи документы javadoc следует проверять в первую очередь, когда что-то, связанное с системой, требуется.

3
ответ дан 6 December 2019 в 09:59
поделиться

try System.getProperty("java.io.tmpdir");

1
ответ дан 6 December 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: