一般的我们使用byte接收读取到的数据,若数据没有达到byte定义的大小时,我们直接将byte转换为String则会出现乱码的情况,在这种情况下应该基于read的返回值来转换byte,否则将产生乱码的情况,
下面是一个简单的示例:
1
2
3
4
5
6
7
8
9
10
|
package com.javaio.myinputstream; public class MyConsole { public static void main(String argv[]) throws Exception { System.out.println( "please input something:" ); byte [] b = new byte [ 1024 ]; int len = System.in.read(b); System.out.println( "you input is:" + new String(b, 0 , len, "UTF-8" )); } } |
输出结果
1
2
3
|
please input something: asdfasdf you input is:asdfasdf |
以上这篇java 将byte中的有效长度转换为String的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。