gpt4 book ai didi

Java 输入流锁定

转载 作者:行者123 更新时间:2023-12-02 22:25:24 25 4
gpt4 key购买 nike

我正在使用 InputStream 通过网络传输文件。

但是,如果我的网络在读取文件的过程中出现故障,则读取方法将被阻止,并且如果网络重新出现,则永远不会恢复。

我想知道应该如何处理这种情况,并且如果 InputStream 消失,是否应该抛出一些异常。

代码是这样的。

Url someUrl = new Url("http://somefile.com");
InputStream inputStream = someUrl.openStream();
byte[] byteArray = new byte[];
int size = 1024;
inputStream.read(byteArray,0,size);

因此,在调用 read 后,网络会出现故障,并且 read 方法会阻塞。

我该如何处理这种情况,因为读取似乎没有抛出异常。

最佳答案

查看此处的文档: http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html

看起来 read 确实抛出了异常。

有几个选项可以解决您的具体问题。

一种选择是跟踪下载进度,并将该状态保留在程序的其他位置。然后,如果下载失败,您可以重新启动并从失败点恢复。

但是,如果下载失败,我会重新启动下载。无论如何,您都需要重新启动它,因此如果出现故障,您最好从头开始重做整个过程。

关于Java 输入流锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8606296/

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