Для временных внутренних файлов их 2 варианта
1.
File file;
file = File.createTempFile(filename, null, this.getCacheDir());
2.
File file
file = new File(this.getCacheDir(), filename);
Обе опции добавляют файлы в каталог кэша приложений и, следовательно, могут быть очищены, чтобы освободить место по мере необходимости, но опция 1 добавит случайное число в конце имени файла, чтобы сохранить файлы уникальными. Это также добавит расширение файла, которое .tmp
по умолчанию, но оно может быть установлено на что угодно с помощью 2-го параметра. Использование случайного числа означает, что, несмотря на указание имени файла, оно не останется таким же, как число, добавляемое вместе с расширением суффикса / файла ( .tmp
по умолчанию), например, вы указываете свое имя файла как internal_file
и получается как internal_file1456345.tmp
. Принимая во внимание, что вы можете указать добавочный номер, вы не можете указать добавляемый номер. Однако вы можете найти имя файла, который он генерирует черезfile.getName();
, но вам нужно будет хранить его где-нибудь, чтобы вы могли использовать его в любое время, например, чтобы удалить или прочитать файл. Поэтому по этой причине я предпочитаю второй вариант, поскольку имя файла, которое вы указываете, является именем файла, который создается.