Para arquivos internos temporários, são duas opções
1
File file;
file = File.createTempFile(filename, null, this.getCacheDir());
2)
File file
file = new File(this.getCacheDir(), filename);
Ambas as opções adicionam arquivos no diretório de cache dos aplicativos e, portanto, podem ser limpas para liberar espaço conforme necessário, mas a opção 1 adicionará um número aleatório no final do nome do arquivo para manter os arquivos exclusivos. Ele também adicionará uma extensão de arquivo que, .tmp
por padrão, pode ser configurada para qualquer coisa através do uso do segundo parâmetro. O uso do número aleatório significa que, apesar de especificar um nome de arquivo, ele não permanece o mesmo, pois o número é adicionado juntamente com a extensão de sufixo / arquivo ( .tmp
por padrão). Por exemplo, você especifica seu nome de arquivo comointernal_file
e sai comointernal_file1456345.tmp
. Considerando que você pode especificar a extensão, não pode especificar o número que é adicionado. No entanto, você pode encontrar o nome do arquivo gerado por meio defile.getName();
, mas você precisará armazená-lo em algum lugar para poder usá-lo sempre que desejar, por exemplo, para excluir ou ler o arquivo. Portanto, por esse motivo, prefiro a segunda opção, pois o nome do arquivo especificado é o nome do arquivo criado.