Pregunta

¿Es posible cambiar el contenido de un archivo al mismo tiempo de escribir en él usando FileWriter?
Necesito constantes de datos de escritura a la cabeza del archivo y si hago lo que se sobrescribe el archivo.
¿Qué técnica debería usar para hacer esto o debería hacer copias realice de los archivo (con los nuevos datos en la parte superior) en cada archivo de escritura?

¿Fue útil?

Solución

Si desea sobrescribir ciertos bytes del archivo y no en otros, se puede utilizar buscar y escritura para hacerlo. Si desea cambiar el contenido de cada byte en el archivo (mediante, por ejemplo, la adición de un solo byte al principio del archivo), entonces usted necesita para escribir un archivo nuevo y potencialmente cambiar su nombre después de que haya terminado de escribir la misma.

Piense en la respuesta a la pregunta "¿cuál será el contenido del byte en la posición x después de que haya terminado?". Si, por un gran porcentaje de los posibles valores de x la respuesta es "no es lo que solía ser", entonces necesita un nuevo archivo.

Otros consejos

En lugar de contendiendo nosotros mismos con la pregunta "¿cuál será el contenido del byte en la posición x después de que haya terminado?", Le permite cambiar el modo de pensar y preguntar por qué no puede el sistema de archivos o tal vez el disco duro del firmware hacer : a) proporcionar otro modo de acceder al archivo [digamos, en línea] b) aumentar la longitud del archivo por el número de bytes añadidos en el frente o en el medio o incluso al final c) se mueven cada byte que comienza a partir de la crossection por las posiciones newcontent.length

Sería más fácil y más rápido para manejar estas operaciones en el firmware del disco o el nivel de aplicación del sistema de archivos en lugar de dejar ese trabajo a los desarrolladores de aplicaciones. Espero escritores del sistema de archivos o vendedores de disco duro ofrecerían estas características pronto.

Saludos, Samba

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top