gpt4 book ai didi

Java OutputStream 跳过(偏移量)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:55 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数采用 File 对象、偏移量和字节数组参数,并将该字节数组写入 Java 中的 File 对象。

所以函数看起来像

public void write(File file, long offset, byte[] data)

但问题是offset参数是long类型,所以不能使用OutputStream的write()函数,它取整型作为偏移量。

与具有skip(long) 的InputStream 不同,OutputStream 似乎无法跳过文件的第一个字节。

有什么好的方法可以解决这个问题吗?

谢谢。

最佳答案

try {
FileOutputStream out = new FileOutputStream(file);
try {
FileChannel ch = out.getChannel();
ch.position(offset);
ch.write(ByteBuffer.wrap(data));
} finally {
out.close();
}
} catch (IOException ex) {
// handle error
}

关于Java OutputStream 跳过(偏移量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9558979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com