public byte[] String_to_byte(String s) 
{
byte[] b = new byte[200];
try 
{
java.io.StringBufferInputStream sbi=new java.io.StringBufferInputStream(s);
b=new byte[sbi.available()];
sbi.read(b);
}
catch(Exception e)
{
System.err.print(e.toString());
}
return b;
}

解决方案 »

  1.   

    String s="ddddddddd";
    byte []b=s.getBytes();byte []a=new byte[50];
    String ss=new String(a);a.toString()与new String(a)是不同的,前者把每个byte转换成char,组成String;后者将每两个byte合成一个char,再组成String。
      

  2.   

    换成String str="abcdefg";
    byte[] bstr=str.getBytes();
    str=new String(bstr);
    System.out.println(str);
      

  3.   

    new String(byte[],charsetname)    String的构造函数String.getBytes()   String.getBytes(charsetname)
      

  4.   

    原理上java中用来表示Sring类是不可变的,没有任何方法允许你改变一个字符串的内容,如果你希望对字符串本身进行修改,需要使用StringBuffer对像。
    String str="abcdefg";
    StringBuffer strB = new StirngBuffer( str );
      

  5.   

    to  peacock_king(孔雀王): 象你这样的做法,会发生转换上的错误的。(是偶尔,原因我不知道。)
    我先把文件读到数据库中的blob字段中,然后,用java读出来,如果用byte直接写文件(就是还原成原来的文件),则成功。但是如果用你的方法转成string再写,则不成功。有几位会和原来byte中的不一样。
      

  6.   

    不好意思,上面的问题已经找到,就是当byte数组中的二进制数如果是负的,那么转换出来是错误的,怎么处理?