Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 08/04/13, 14:07:55
Array

[xs_avatar]
lucas.werner lucas.werner no está en línea
Usuario novato en la web
 
Fecha de registro: abr 2013
Mensajes: 2
Modelo de smartphone: gt-i9100
Tu operador: Movistar
[PROBLEMA] Lectura de ficheros en Android

Hola, tengo un problema y por mas que busco no se cual es el fallo :S .
Resulta que meto en un fichero un String ( como prueba simplemente ) , en MODE_APPEND , cada vez que pulso un botón... y despues leo lo que se metio en el fichero...
Algo en teoría bastante simple...pues no va... este es el código :

private void escribirEnFichero() {
try {
FileOutputStream fis= openFileOutput("otraPrueba2.dat", Context.MODE_APPEND);
ObjectOutputStream ois=new ObjectOutputStream(fis);
ois.flush();
String cad= new String("Ejemplo3");
Log.d("Fichero", "escribiendo..."+cad);
ois.writeObject(cad);
ois.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.d("Fichero", "escribiendo...1");
e.printStackTrace();
} catch (StreamCorruptedException e) {
Log.d("Fichero", "escribiendo...2");
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
Log.d("Fichero", "escribiendo...3");
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private List<String> leerFichero(String nombreFichero) {
ArrayList<String> salida = new ArrayList<String>();


try {
FileInputStream fis = openFileInput("otraPrueba2.dat");
ObjectInputStream is = new ObjectInputStream(fis);
String cad=null;
while ((cad=(String)is.readObject())!=null) {
String cad2=cad;
Log.d("Fichero", "Valor de la cadena : "+cad2);
}
is.close();
} catch (EOFException ex) {

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OptionalDataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return salida;
}

Y esta es la salida de LogCat:


04-08 14:05:27.933: D/Fichero(31114): escribiendo...Ejemplo3
04-08 14:05:27.933: D/Fichero(31114): Valor de la cadena : Ejemplo
04-08 14:05:27.933: D/Fichero(31114): Valor de la cadena : Ejemplo2
04-08 14:05:28.443: D/Fichero(31114): escribiendo...Ejemplo3
04-08 14:05:28.443: D/Fichero(31114): Valor de la cadena : Ejemplo
04-08 14:05:28.443: D/Fichero(31114): Valor de la cadena : Ejemplo2

(Ejemplo y Ejemplo2 fueron insertadas antes que Ejemplo3 como prueba en otra ejecución de la app)

Es decir, lo que está pasando es que no inserta nada :S . Probé cambiando el flush() , el close() y el reset() en mil lugares diferentes pero nada, no hay manera :S .

Alguien me echa una mano?

Graciasss!!
Responder Con Cita


  #2  
Viejo 08/04/13, 14:09:16
Array

[xs_avatar]
lucas.werner lucas.werner no está en línea
Usuario novato en la web
 
Fecha de registro: abr 2013
Mensajes: 2
Modelo de smartphone: gt-i9100
Tu operador: Movistar
PD: Ya probé inicializando el String cad , y de mil maneras posibles :S no se cual es el error !
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 20:26:30 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /