Как записать byteArray в файл?

Поэтому я пытаюсь реализовать метод, который вставляет byteArray в файл и устанавливает новый byteArray, содержащий вставленный byteArray, если это имеет какой-либо смысл. Ниже приведен мой код, однако я уверен, что что-то не так, поскольку мои тесты не проходят, любая помощь будет принята с благодарностью.

public void writeBlock(int blockNum, AbstractDBFile f, AbstractBlock b)
            throws IOException {

    f.setCurBlockPos(blockNum);
    byte[] writeData = new byte[4096];
    int currentByte = f.getCurBlockPos() * 4096;
    File ourFile = new File(f.getFileName());
//  Block block = new Block();
    Path path = Paths.get(f.getFileName());
    Files.write(path, writeData, StandardOpenOption.WRITE); //Data is Written

    RandomAccessFile file = new RandomAccessFile(ourFile, "rw");
    FileChannel inChannel = file.getChannel();
    ByteBuffer bb = ByteBuffer.allocate(currentByte);
    inChannel.write(bb);
    while(inChannel.read(bb)>0){
    bb.flip();
    for (int i =0; i<bb.limit(); i++){
        writeData[i]=bb.get();
        b.setData(writeData);
    }
    bb.clear();
}
    inChannel.close();
    file.close();


}

1 ответ

Я рекомендую использовать APACHE-COMMON-IO, это хорошая библиотека для манипулирования файлами. В этой библиотеке есть много методов для записи, копирования, перемещения и т. Д. С файлами. Это просто в использовании.

У меня было много проблем, следуя этому пути, который вы сделали. Но в настоящее время мы просто используем эту библиотеку.

Хороший вид

Другие вопросы по тегам