我上傳了一個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