gpt4 book ai didi

Java OutputStream.write() 抛出错误的文件描述符,但刷新有效

转载 作者:行者123 更新时间:2023-12-01 12:26:49 26 4
gpt4 key购买 nike

我正在编写使用像这样可逆的文件流的代码

public static void writeBlock(OutputStream stream, float[] data, byte startPosition)
{
int i = 0;
for(i = startPosition; i < data.length; i++)
{
// Code
stream.flush();
stream.write(someByte); // throws Exception at second call
if(someCondition)
{
break;
}
}
stream.flush();
if(i < data.length)
{
writeBlock(stream, data, i)
}
}

我收到 IOExceptions 消息:错误的文件描述符

该方法正在获取一个FileOutputStream

但是如果文件描述符第一次工作的话怎么可能是坏的呢。我的问题在哪里?感谢您提前的帮助

最佳答案

flush() 取决于所使用的 OutputStream 的实现。此方法的抽象 OutputStream 类实现不执行任何操作。如果 OutputStream 子类从不缓冲输出,它很可能不会实现此方法,并且 flush() 将不执行任何操作。即使 flush() 对传递的实现执行某些操作,如果没有缓冲输出,它也很可能立即返回。

传递到 OutputStream 的文件有问题。需要更多信息才能找出问题所在。

关于Java OutputStream.write() 抛出错误的文件描述符,但刷新有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26266530/

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