Read bytes properly classloader
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 17 Jun 2013 16:14:55 +0200
branchclassloader
changeset 1177006617ca6707
parent 1176 0250b8a739de
child 1178 4ae766848ce0
Read bytes properly
launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/fximpl/JsClassLoader.java
     1.1 --- a/launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/fximpl/JsClassLoader.java	Mon Jun 17 11:00:51 2013 +0200
     1.2 +++ b/launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/fximpl/JsClassLoader.java	Mon Jun 17 16:14:55 2013 +0200
     1.3 @@ -20,7 +20,6 @@
     1.4  import java.io.IOException;
     1.5  import java.io.InputStream;
     1.6  import java.net.URL;
     1.7 -import java.net.URLConnection;
     1.8  import java.util.ArrayList;
     1.9  import java.util.Enumeration;
    1.10  import java.util.List;
    1.11 @@ -58,9 +57,13 @@
    1.12              try {
    1.13                  is = u.openStream();
    1.14                  byte[] arr = new byte[is.available()];
    1.15 -                int len = is.read(arr);
    1.16 -                if (len != arr.length) {
    1.17 -                    arr = null;
    1.18 +                int len = 0;
    1.19 +                while (len < arr.length) {
    1.20 +                    int read = is.read(arr, len, arr.length - len);
    1.21 +                    if (read == -1) {
    1.22 +                        throw new IOException("Can't read " + u);
    1.23 +                    }
    1.24 +                    len += read;
    1.25                  }
    1.26                  is.close();
    1.27                  is = null;