2b60be6d13bc5f1a41b7388669d7666678f92278
[jalviewjs.git] / site / swingjs / j2s / jssun / misc / IOUtils.js
1 Clazz.declarePackage ("jssun.misc");\r
2 Clazz.load (null, "jssun.misc.IOUtils", ["java.io.EOFException", "java.util.Arrays"], function () {\r
3 c$ = Clazz.declareType (jssun.misc, "IOUtils");\r
4 c$.readFully = Clazz.defineMethod (c$, "readFully", \r
5 function (is, length, readAll) {\r
6 var output =  Clazz.newByteArray (-1, []);\r
7 if (length == -1) length = 2147483647;\r
8 var pos = 0;\r
9 while (pos < length) {\r
10 var bytesToRead;\r
11 if (pos >= output.length) {\r
12 bytesToRead = Math.min (length - pos, output.length + 1024);\r
13 if (output.length < pos + bytesToRead) {\r
14 output = java.util.Arrays.copyOf (output, pos + bytesToRead);\r
15 }} else {\r
16 bytesToRead = output.length - pos;\r
17 }var cc = is.read (output, pos, bytesToRead);\r
18 if (cc < 0) {\r
19 if (readAll && length != 2147483647) {\r
20 throw  new java.io.EOFException ("Detect premature EOF");\r
21 } else {\r
22 if (output.length != pos) {\r
23 output = java.util.Arrays.copyOf (output, pos);\r
24 }break;\r
25 }}pos += cc;\r
26 }\r
27 return output;\r
28 }, "java.io.InputStream,~N,~B");\r
29 });\r