2010-12-02 23 views

Respuesta

4

AFAIK, deberá copiar los bytes restantes (longitud del archivo - 100) en un nuevo archivo. No es posible eliminar los primeros 100 bytes de un archivo sin copiar los bytes restantes en un nuevo archivo.

Edit: Como cdhowie ha señalado con razón, se podría:

  • buscar a 100,
  • cantidad de lectura X de bytes (más de 100, aunque)
  • buscan a 0,
  • escritura X cantidad de bytes

Luego repita el proceso hasta que se escriba todo el archivo. Termine configurando la longitud de archivo 100 bytes menos que anteriormente. Si quiere estar seguro y no arriesgarse a corromper el archivo original, podría valer la pena escribir primero en un archivo temporal.

+1

en realidad quiero volver a escribir el archivo. primero se arregló el tamaño del archivo, después de alcanzar el tamaño eliminaré los primeros bytes y anexaré nuevo contenido al final del archivo. – sirin

+0

Ah, lo siento, no entendí tu pregunta entonces. Simplemente lea desde un desplazamiento de bytes de 100 bytes, y escriba la longitud de archivo - 100 bytes en un nuevo archivo. – BlueVoodoo

+0

No es necesario usar un archivo nuevo. Puede leer/buscar/escribir/buscar de un lado a otro en el mismo archivo. – cdhowie

0

No hay una manera simple de hacer esto. Deberá leer a partir del byte 100 y escribir a partir del byte 0; esencialmente, cambie el contenido del archivo hacia abajo por 100 bytes manualmente. Entonces puede truncate el archivo a 100 bytes menor que su longitud.

5

encontré un método que proporciona los trabajos deseados. es deleteRAF y here.

gracias sus consejos.

+2

hice un pequeño ejemplo, http://goo.gl/hisZC – sirin

Cuestiones relacionadas