如何将byteArray写入文件?

时间:2016-03-18 18:44:17

标签: java file bytearray randomaccessfile

所以我试图实现一个将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 个答案:

答案 0 :(得分:0)

我建议使用APACHE-COMMON-IO,它是一个很好的lib来处理文件。这个lib有很多方法可以用文件来编写,复制,移动等。它易于使用。

按照你的方式我遇到了很多问题。但是现在只需使用这个库。

好loock