【发布时间】:2012-03-04 21:42:09
【问题描述】:
我在我的计算机上将一个大小为 21 KB 的 JAR 文件上传到了一个网站。我找到了该 JAR 文件的直接链接,并为该文件创建了一个 InputStream:
URL url = new URL("addresstofile");
InputStream stream = url.openStream();
预计流中可用的字节数约为 21,000。但是,可用数量为 7,048。为了调试,我将这 7,048 个字节保存在一个字节数组中,然后将这些字节写入一个扩展名为“.jar”的临时文件
我提取 JAR 文件中的类(即 7 KB;原始文件为 21 KB)。除了我注意到嵌套类不存在之外,大多数类都在那里。我不确定为什么会这样 - InputStream 只是在那里中断只是巧合,还是嵌套类有一些特殊例外?
为什么 InputStream 的行为如此奇怪? 谢谢!
@Neil:这行得通!非常感谢!
【问题讨论】:
-
流仅在对
read()的调用返回-1 时结束。忽略available()方法。确实用处不大。
标签: java url jar inputstream