Java – Eingabestrom wird in Byte-Array konvertiert und das Array liegt außerhalb der Grenzen
巴扎黑
巴扎黑 2017-05-17 10:03:02
0
2
800

public static byte[] readInputStream(InputStream inStream) löst eine Ausnahme aus {

    try {
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len = 0;
        while ((len = inStream.read(buffer)) != -1) {
            outStream.write(buffer, 0, len);
        }
        inStream.close();
        return outStream.toByteArray();
    }catch (Exception e){
        e.printStackTrace();
        throw new Exception(e);
    }

}

So geht man im Internet damit um. Es besteht die Möglichkeit, die Grenze zu überschreiten, indem man zu Tode schreibt

Ich weiß nicht, ob es eine andere Möglichkeit gibt, damit umzugehen

巴扎黑
巴扎黑

Antworte allen(2)
阿神

最好的方法是用Apache commons IO的IOUtils.toByteArray(inputStream),一行代码解决。

阿神
        int count = 0;
        while (count == 0) {
            count = inStream.available();
        }
        byte[] b = new byte[count];
        inStream.read(b);
        return b;
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage