byte[] but = new byte[1024];
String s = new String(but);
这样构造出来的字符串后面一大堆的空字符,就是byte里面0的位置
可能我but里放的就是10来个汉字,那现在我怎么把but的有效字符转换成字符串呢?
我想比较土的方法就是做循环,取出0之前的字符,但这样好像有问题
各位是怎么解决的?

解决方案 »

  1.   

    你构造byte数组是为了从流中读数据么?
    如果是的话,那为什么不用字符流?
    如果不是的话,那为什么不直接用String?
      

  2.   

    就是这样,具体问题,具体实现
    如果一定要从byte来做,就用trim()
      

  3.   

    用Trim()可以的,它的作用是取得的一个字符串中的空格给去掉
      

  4.   

    stringbuffer
    stringbuffer.append();
    stringbuffer.toString();