byte[] buff = new byte[1024];
  while (true) 
       { 
          try 
         { 
        //从System.in读出数据
           int n = System.in.read(buff);
           //写入System.out中 
           System.out.write(buff, 0, n); 
           //**************************************************
          //**   我想使用String s = new String();
             //**          System.out.println(s);
           //**  如何 把 buff  的内容转换到 s里面?
           //** 
         //**************************************************
         }
          catch (Exception e) 
         { 
           //异常处理 
           System.exit(1); 
         } 
       }

解决方案 »

  1.   

    是这样?String s = new String(buff, 0, n);
      

  2.   

    String
    public String(byte[] bytes)通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。 
    当给定 byte 在给定字符集中无效的情况下,此构造方法的行为没有指定。如果需要对解码过程进行更多控制,则应该使用 CharsetDecoder 类。 
    参数:
    bytes - 要解码为字符的 byte
    从以下版本开始: 
    JDK1.1 
      

  3.   

    byte[] buff = new byte[1024];
    StringBuffer sb = new StringBuffer();
       for(int i=0; i<buff.length; i++){
    sb.append(bte[i]);
    //System.out.println(bte[i]);
       }
      System.out.println(sb.toString());
    这样就可以吧.../
      

  4.   


    Java codeString s = new String(buff);