只是一个很简单的例子,却造成了系统的资源耗尽,而无法在运行下去,我是用Eclipse来进行编译的,如果在运行中停掉就没有事?在虚拟机下面进行的使用的运行环境也不是JDK
请各位帮忙指教下如何解决这个问题,在此感谢,下面是贴上的代码:public class test {
public static void main(String args[]) throws Exception {
byte b[] = new byte[2];
b[0]=3;
b[1]=-33;
System.out.println("string:"+new String(b, "UTF-16"));
}
}

解决方案 »

  1.   

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    byte b[] = new byte[2];
    b[0]=3;
    b[1]=-33;
    try{
    System.out.println("string:"+new String(b, "UTF-16"));
    }
    catch(Exception e)
    {
    e.printStackTrace();
    } }
      

  2.   

    只要能够输出就都没有多大问题,主要是因为Linux下会造成系统的资源耗尽,然后变成死机
      

  3.   

    你把打印去掉,或者换成
    String str=new String(b,"UTF-8");
    System.out.println("length:" + str.length());
    看看
      

  4.   

    byte b[] = new byte[2];???
      

  5.   

    win下有这样的情况吗?我也是linux,不过linux下的标准编码是utf-8倒是真的
      

  6.   

    使用UTF-8就不会产生错误,系统耗尽是因为系统根本已经是死机了,鼠标都很难移动,是每一次,但是换了另外一个编译器就没有这个问题
      

  7.   

    回复xiaoyetao08(人尚未成为人),这句定义byte b【】=new byte【2】;
    有什么问题吗?
      

  8.   

    不要理那个xiaoyetao的ID,整天捣乱。没有看出什么问题,没有实机环境,实在不知道问题出在哪里。lz
    >在虚拟机下面进行的使用的运行环境也不是JDK
    是什么呢
      

  9.   

    也许你的linux不支持utf-16字符集呢