Escribir y leer cadenas a / desde archivo interno

Veo un montón de ejemplos de cómo escribir objetos String como eso:

String FILENAME = "hello_file"; String string = "hello world!"; FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); fos.write(string.getBytes()); fos.close(); 

Pero no la forma de leerlos desde el archivo de la aplicación interna. La mayoría de los ejemplos suponen una longitud de cadena específica para calcular el búfer de bytes pero no sé cuál será la longitud. ¿Hay una manera fácil de hacerlo? Mi aplicación escribirá hasta 50-100 cadenas en el archivo

Escribir cadenas de esta manera no pone ningún tipo de delimitadores en el archivo. No sabes dónde termina una cuerda y comienza la siguiente. Es por eso que debe especificar la longitud de las cadenas al leerlas.

Puede utilizar DataOutputStream.writeUTF() y DataInputStream.readUTF() lugar, ya que estos métodos ponen la longitud de las cadenas en el archivo y leen de nuevo el número correcto de caracteres automáticamente.

En un contexto de Android podría hacer algo como esto:

 try { // Write 20 Strings DataOutputStream out = new DataOutputStream(openFileOutput(FILENAME, Context.MODE_PRIVATE)); for (int i=0; i<20; i++) { out.writeUTF(Integer.toString(i)); } out.close(); // Read them back DataInputStream in = new DataInputStream(openFileInput(FILENAME)); try { for (;;) { Log.i("Data Input Sample", in.readUTF()); } } catch (EOFException e) { Log.i("Data Input Sample", "End of file reached"); } in.close(); } catch (IOException e) { Log.i("Data Input Sample", "I/O Error"); } 
  • Variables de getResources (). GetStringArray () de Android
  • Leer archivo de activos como cadena
  • Android que convierte la cadena a la secuencia de la matriz
  • La forma más fácil de dar formato a cadena como 1 000 000
  • Cómo convertir un entero de color a un hex en String en Android?
  • Android incompatibles tipos de estudio necesarios java.lang.String encontrado java.lang.String
  • Comparar dos cadenas en Java
  • Múltiples anotaciones encontradas en esta línea:
  • ¿Cómo recuperar la cadena clicada de un listview usando OnItemClick?
  • Cómo llamar a strings.xml en arraylist
  • Extraer toda la cadena Hardcoded al recurso de cadena: Android Studio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.