我上传了一个JAR文件,该文件在我的计算机上的大小为21 KB,可以上传到网站。我发现直接链接到该JAR文件,并创建一个InputStream该文件:Java:意外的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:This Works!非常感谢!
流只在对'read()'的调用返回-1时结束。忽略'available()'方法。这真的没有多大用处。 – erickson 2012-03-04 22:13:38