Utilice FileWriter para escribir texto al comenzar

Hy, estoy usando FileWriter para escribir algún texto en la tarjeta SD, así

 FileWriter write = new FileWriter(Environment.getExternalStorageDirectory().toString() + "text.txt", true); write.append("This is first written"); write.close(); 

Ahora cuando escribo otro texto

 FileWriter write = new FileWriter(Environment.getExternalStorageDirectory().toString() + "text.txt", true); write.append("This is second written"); write.close(); 

Y mira en este archivo, se ve tan

 This is first written This is second writtn 

Ahora, mi pregunta es, ¿cómo puedo escribir este segundo texto y colocarlo por encima del primer texto, no he encontrado ninguna opción de búsqueda. Sé que puedo leer primero el texto, y que escribir un nuevo archivo y poner por fin el texto readen, pero ¿hay alguna otra solución?

No soy consciente de una clase disponible por defecto en Android que haría esto.

Incluso si hay uno entonces, si piensas en ello, la única manera posible que podría funcionar es hacer lo que dices acerca de leer contenidos actuales primero, añadir a los datos que se agregan y luego escribir de nuevo.

Puede crear una clase que extienda FileWriter que lo hace abriendo / leyendo / cerrando el archivo primero y luego abriéndolo nuevamente con append set a false antes de escribir los nuevos datos con los datos anteriores anexados a él.

La idea de Sparky de usar RandomAccessFile es una alternativa porque al menos podría buscar al principio antes de escribir los datos (eliminando la necesidad de cerrar el archivo antes de reabrirlo). PERO usted todavía tendría que leer los datos anteriores en primer lugar como buscar al principio y luego escribir no 'empujar' los datos existentes fuera del camino – simplemente lo sobrescribirá.

¿Es usted el que controla la vista del archivo, a diferencia del usuario que utiliza algún otro programa para verlo? Si es así, ¿qué hay de sólo mostrar el contenido del archivo en sentido inverso?

Te lo explicaré aquí.

Digamos que he escrito algunos datos en un archivo, y los datos parecen

  21.02.2012, 11:43<#>-<#>88<#>- 21.02.2012, 13:12<#>-<#>80<#>- 21.02.2012, 19:36<#>-<#>61<#>- 22.02.2012, 07:15<#>-<#>50<#>- 23.02.2012, 12:14<#>-<#>44<#>- 

Ahora en mi aplicación leo el texto y lo divido en <#>

  String split = readen.split("<#>"); 

Quiero mostrar el texto usando WebView y mostrar los datos en la tabla que parece tan

 ---------------------- | 23.02.2012 | ---------------------- | 12:14 | - | 44 | - | ---------------------- ---------------------- | 22.02.2012 | ---------------------- | 07:15 | - | 50 | - | ---------------------- ---------------------- | 21.02.2012 | ---------------------- | 19:36 | - | 61 | - | | 13:12 | - | 80 | - | | 11:43 | - | 88 | - | ---------------------- 

He leído una línea y cuando la fecha iguala la fecha antes de que en la misma tabla, sino cerrar la tabla y abrir un nuevo y poner los nuevos datos, y leer de nuevo y ver si los datos de fecha de fecha iguales antes de poner en la misma tabla, Otra otra vez cerrar y abrir una nueva tabla … esto no es tan difícil de construir, pero para construir esto y volver a es difícil reaaaally: D, así que quiero cambiar los datos en el archivo, para que no tengo que preocuparse de la inversión , Simplemente leer los datos y crear la tabla

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.