gpt4 book ai didi

java - Java如何从指定的字节位置读取文件的一部分?

转载 作者:行者123 更新时间:2023-12-04 20:47:40 25 4
gpt4 key购买 nike

我有一种情况,当我只需要从指定的字节位置开始读取文件的一部分时。

我尝试下一个:

protected void writePartToStream(final InputStream in, final OutputStream out, long startBytes) {
final byte[] b = new byte[BUFFER_SIZE];
int count = 0;
amountWritten = startBytes;


// skip logic
// how to skip???

do {
// write to the output stream
try {


out.write(b, 0, count);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}

amountWritten += count;
System.out.println("Amount writtent=" + amountWritten);
// read more bytes from the input stream
try {
count = in.read(b, (int) amountWritten, b.length);
} catch (IOException e) {
}
} while (count != -1 && !getStatus().equals(Status.cancelled));

// the connection was likely terminated abrubtly if these are not equal
if (!getStatus().equals(Status.cancelled) && getError() == Error.none
&& amountWritten != fileSize) {
setStatus(Status.error);
this.error = Error.connection;
}
}


但是我从不使用I / O,所以我不知道如何从指定位置开始读取文件。

最佳答案

看看java.io.RandomAccessFile.seek()。它允许从任意位置读取文件,但是其构造函数需要文件名或File对象,而不仅仅是您的方法当前接收到的输入流。

关于java - Java如何从指定的字节位置读取文件的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35745403/

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