Para archivos internos temporales hay 2 opciones
1)
File file;
file = File.createTempFile(filename, null, this.getCacheDir());
2)
File file
file = new File(this.getCacheDir(), filename);
Ambas opciones agregan archivos en el directorio de caché de las aplicaciones y, por lo tanto, se pueden borrar para hacer espacio según sea necesario, pero la opción 1 agregará un número aleatorio al final del nombre de archivo para mantener los archivos únicos. También agregará una extensión de archivo que es .tmp
predeterminada, pero se puede establecer en cualquier cosa mediante el uso del segundo parámetro. El uso del número aleatorio significa que, a pesar de especificar un nombre de archivo, no permanece igual, ya que el número se agrega junto con la extensión de sufijo / archivo ( .tmp
por defecto), por ejemplo, especifica su nombre de archivo como internal_file
y sale como internal_file1456345.tmp
. Mientras que puede especificar la extensión, no puede especificar el número que se agrega. Sin embargo, puede encontrar el nombre de archivo que genera a través defile.getName();
, pero necesitaría almacenarlo en algún lugar para poder usarlo cuando lo desee, por ejemplo, para eliminar o leer el archivo. Por lo tanto, por esta razón, prefiero la segunda opción, ya que el nombre de archivo que especifique es el nombre de archivo que se crea.