Pergunta

Qual é a melhor maneira de escrever bytes no meio de um arquivo usando Java?

Foi útil?

Solução

Ler e escrever no meio de um arquivo é tão simples quanto usar um RandomAccessFile em java.

RandomAccessFile, apesar do nome, é mais como um InputStream e OutputStream e menos como um File. Permite que você leia ou procure através bytes Em um arquivo e comece a escrever sobre os bytes em que você quiser parar.

Depois de descobrir essa classe, é muito fácil de usar se você tiver um entendimento básico da E/S regular de arquivo.

Um pequeno exemplo:

public static void aMethod(){
    RandomAccessFile f = new RandomAccessFile(new File("whereDidIPutTHatFile"), "rw");
    long aPositionWhereIWantToGo = 99;
    f.seek(aPositionWhereIWantToGo); // this basically reads n bytes in the file
    f.write("Im in teh fil, writn bites".getBytes());
    f.close();
}

Outras dicas

Usar RandomAccessFile

Abra o arquivo no modo de gravação sem truncá -lo, procure o deslocamento desejado e escreva os dados desejados. Apenas tenha cuidado com o modo de texto/binário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top