[我正在尝试使用InputStream和OutputStream java将URL的响应保存在文件中。 X字节下载后,程序冻结,没有错误,没有异常,没有。我尝试了很多解决方案(Outputstream缓冲区字节,但所有解决方案都给我同样的问题)。可能是由于一段时间后没有响应的远程服务器引起的。但我没有错误,也没有例外。
此基本示例冻结:
try (InputStream in = new URL("http://192.168.1.1:81//proc/kcore").openStream();
OutputStream out = Files.newOutputStream(Paths.get("output.txt"))) {
// convert input stream to output stream
long length = in.transferTo(out);
System.out.println("Bytes transferred: " + length);
} catch (IOException ex) {
ex.printStackTrace();
}
程序下载的内容比冻结下载的内容大约2500字节。没有错误也没有例外。
有什么想法吗?谢谢大家!
抱歉@Progman,下一次我将正确发布并感谢Joni,最后我找到了使用Apache Commons IO-FileUtils的解决方案
try {
FileUtils.copyURLToFile(
new URL(myUrl),
new File(input.getFilename()),
3000,
3000);
}catch (SocketTimeoutException ex)
{
System.out.println("SocketTimeoutException" );
}
谢谢