30 сентября 2012 г.

Создание временных файлов в Java

В процессе разработки часто сталкиваюсь с необходимостью создания временного файла. И я вовремя узнал, что в JDK есть стандартный метод для создания временных файлов.
File tempFile = File.createTempFile("abc", "");
Этот метод создаёт временный файл в папке, специально предназначенной для временных файлов в данной операционной системе. Эта папка в разных ОС может называться по-разному, но для временного файла не очень важно, где он будет создан и как он будет называться. Важнее факт наличия специального каталога. После создания вы сразу получаете указатель на этот файл для дальнейшего манипулирования с ним.

Метод принимает два строковых параметра: префикс и суффикс. Префикс должен обязательно содержать не менее трёх символов. Префикс определяет начало имени временного файла. Суффикс определяет его конец, но он не обязателен. Если в качестве суффикса передать null, то временный файл получит расширение .tmp. Но ведь расширение ни на что не влияет, так что можно передать в качестве суффикса пустую строку, чтобы в конец имени временного файла ничего не добавлялось. Серединой же имени временного файла будет набор цифр.

Итак, для значений параметров, приведённых выше, метод создаст, например, такой файл:
/tmp/abc8859980780322653785
А вот этот файл может получиться, если в качестве суффикса передать null:
/tmp/abc7890857977307054209.tmp
Ну а если хотим заменить расширение tmp на что-нибудь другое, достаточно в качестве суффикса передать, например, ".temporary":
/tmp/abc7751462332148781358.temporary

1 комментарий: