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