Rumah  >  Soal Jawab  >  teks badan

java - inputstream ditukar kepada tatasusunan bait dan tatasusunan di luar had

bait statik awam[] readInputStream(InputStream inStream) membuang Exception {

    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);
    }

}

Ini adalah cara untuk menanganinya di seluruh Internet. Terdapat kemungkinan melepasi garisan dengan menulis hingga mati

Saya tidak tahu sama ada ada cara lain untuk menanganinya

巴扎黑巴扎黑2713 hari yang lalu727

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-05-17 10:05:02

    Cara terbaik ialah menggunakan Apache commons IO's IOUtils.toByteArray(inputStream), penyelesaian satu baris.

    balas
    0
  • 阿神

    阿神2017-05-17 10:05:02

            int count = 0;
            while (count == 0) {
                count = inStream.available();
            }
            byte[] b = new byte[count];
            inStream.read(b);
            return b;

    balas
    0
  • Batalbalas