Eliminare un byte all'interno di un file binario
Da Gambas-it.org - Wikipedia.
Se vi è necessità di eliminare un byte all'interno di un file binario, è possibile anche adottare la seguente procedura, che può essere suddivisa in tre fasi:
- lettura dei dati presenti nel file;
- eliminazione del byte prescelto;
- riscrittura ex novo del file senza il byte eliminato.
Per realizzare queste tre fasi si utilizzeranno alcune risorse dell'array di tipo Byte[]:
Public Sub Main() Dim fl As File Dim bb As New Byte[] fl = Open "/percorso/del/file" For Read bb = New Byte[Lof(fl)] ' Legge il file interamente, inserendo ciascun byte del file in una variabile array di tipo Byte[]: bb.Read(fl, 0, Lof(fl)) fl.Close ' Rimuove il byte indicandone la relativa posizione nell'indice array (in questo esempio viene eliminato il valore-byte d'indice 4): bb.Remove(4) fl = Open "/percorso/del/file" For Create ' Riscrive ex novo il file leggendo dalla variabile array, priva ormai del byte che si doveva eliminare: bb.Write(fl, 0, bb.Count) fl.Close End