No sé por qué en mi caso este código está creando un nuevo archivo.
ofnowhere
¿Cómo verificar en la subcarpeta también?
Pratik Butani
44
Esto es así porque no hay un método estático: File.exists (String file), por lo que debe instanciar un nuevo objeto File para acceder al método 'Exists'.
Giova
3
Creo que OP no desea crear un nuevo objeto de archivo.
AndroDev
1
@AndroDev no: no desea crear un nuevo ARCHIVO, la respuesta crea una nueva REFERENCIA para archivar.
Marian Paździoch
31
Cuando usa este código, no está creando un nuevo archivo, solo está creando una referencia de objeto para ese archivo y probando si existe o no.
Esta es la solución si solo tiene el nombre del archivo y no su ruta
Zach
1
@Zach No realmente, su ruta sería el primer parámetro que envié (getApplicationContext (). GetFilesDir ())
Jordi Vicens
8
Cuando dice "en la carpeta de su paquete", ¿se refiere a sus archivos de aplicaciones locales? Si es así, puede obtener una lista de ellos utilizando el método Context.fileList () . Simplemente repita y busque su archivo. Eso supone que guardó el archivo original con Context.openFileOutput () .
Los methodsen la clase Path son sintácticos, lo que significa que operan en la instancia Path. Pero eventualmente debe acceder al filesistema para verificar que existe una ruta particular
File file =newFile("FileName");if(file.exists()){System.out.println("file is already there");}else{System.out.println("Not find file ");}
Respuestas:
Su fragmento de código no crea uno nuevo, solo verifica si ya está allí y nada más.
fuente
Cuando usa este código, no está creando un nuevo archivo, solo está creando una referencia de objeto para ese archivo y probando si existe o no.
fuente
A mí me funcionó:
fuente
Cuando dice "en la carpeta de su paquete", ¿se refiere a sus archivos de aplicaciones locales? Si es así, puede obtener una lista de ellos utilizando el método Context.fileList () . Simplemente repita y busque su archivo. Eso supone que guardó el archivo original con Context.openFileOutput () .
Código de muestra (en una actividad):
fuente
Los
methods
en la clase Path son sintácticos, lo que significa que operan en la instancia Path. Pero eventualmente debe acceder alfile
sistema para verificar que existe una ruta particularfuente
fuente
Propiedades de extensión de Kotlin
No se creará ningún archivo cuando cree un objeto File, es solo una interfaz.
Para facilitar el trabajo con archivos, hay una
.toFile
función existente en UriTambién puede agregar una propiedad de extensión en Archivo y / o Uri, para simplificar aún más el uso.
Luego solo use
uri.exists
ofile.exists
para verificar.fuente