Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

269
Vistas
Estudio de Android, File.properties eliminado después de volver a abrir la aplicación

Guardé un File.properties en this.getFilesDir() + "Data.propertie" . En la aplicación, guardo los datos que escribió el usuario, pero cuando abro la aplicación, todos los datos (o el archivo) que guardé de la vez anterior se han eliminado.

Ejemplo:

 // Store for (Map.Entry<String,String> entry : MainActivity.Notes.entrySet()) { // Put all data from Notes in properties to store later properties.put(entry.getKey(), entry.getValue()); } try { properties.store(new FileOutputStream(this.getFilesDir() + "data.properties"), null); } // Store the data catch (IOException e) { e.printStackTrace(); } // Error exception // Load the map Properties properties = new Properties(); // Crate properties object to store the data try { properties.load(new FileInputStream(this.getFilesDir() + "data.proprties")); } // Try to load the map from the file catch (IOException e) { e.printStackTrace(); } // Error exception for (String key : properties.stringPropertyNames()) { Notes.put(key, properties.get(key).toString()); // Put all data from properties in the Notes map } // Can load the data

Puede ver que guardé los datos en el archivo y puedo cargarlos, pero cuando abro la aplicación, los datos se han eliminado.

¿Hay alguna manera de escribir en el archivo y guardar los datos que escribo la próxima vez que abra la aplicación?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En primer lugar, Context.getFilesDir devuelve un objeto de File . Este File representa el directorio de datos privados de su aplicación.

Luego haces getFilesDir() + "foo" que llamará implícitamente toString() en la instancia del File .File.toString() es equivalente a File.getPath , que no necesariamente devuelve una barra diagonal final.

Esto significa que, si getFilesDir() devuelve un File en /data/app , su archivo de propiedades se convertirá en /data/appdata.properties que no está en su carpeta de datos y no se puede escribir en él.

En cambio, para obtener un File dentro de un directorio, puede crear una nueva instancia de File con ese directorio. p.ej:

 File propertiesFile = new File(this.getFilesDir(), "data.properties"); // use propertiesFile for FileOutputStream/FileInputStream etc.

Esto asegura que su archivo de propiedades esté dentro de ese directorio y evita cualquier problema con los separadores de archivos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda