获取字符串中的bytedata数据

Get bytedata data in string

private static int readAndWriteInputStream( final InputStream is, final OutputStream outStream ) throws IOException {
    final byte[] buf = new byte[ 8192 ];
    int read = 0;
    int cntRead;
    while ( ( cntRead = is.read( buf, 0, buf.length ) ) >=0  )
    {
        outStream.write(buf, 0, cntRead);
        read += cntRead;
    }
    outStream.write("\n".getBytes());
    return read;
}

之前outStream.write(buf, 0, cntRead);我想将每一行(从输入文本中读取)文件放入一个字符串中。是否可以将此字节数据放入一个字符串中。

简单地说:

String s = new String(buf, 0, cntRead);

或者使用不使用默认字符集的字符集:

String s = new String(buf, 0, cntRead, Charset.forName("UTF-8"));

更好的方法是使用 proper String constructor:

String s = new String(buf, 0, cntRead);

这样可以避免不必要的数组复制。

此外,如果数据编码可能与您平台的默认编码不同,则您必须使用 a constructor,它将 Charset 作为附加参数。