一直困扰我的BYTE ARRAY TO STRING 问题 不是,是READOBJECT的时候报错:EOF 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道楼主什么意思,str.getByte();没有这个方法应该是str.getBytes(); 对,是str.getBytes(),是我这里写错了,程序里是写的对的。其他地方绝对没有笔误.]to llgui:你肯定是没有改动1,2两处,我是说改了就出错了,麻烦你再试一次。 我想其中应该有汉字之类的字符吧?请注意char和byte 的区别!!!!! try{ String testObject = "你快点给我分,我要一百,不算多"; ByteArrayOutputStream mem_out = new ByteArrayOutputStream(); ObjectOutputStream obj_out = new ObjectOutputStream(mem_out); obj_out.writeObject(testObject); /*1*/byte[] bytes = mem_out.toByteArray(); long length = bytes.length; String myBase64 = new sun.misc.BASE64Encoder().encode(bytes); obj_out.close(); mem_out.close(); /*2*/ byte[] newBytes = new sun.misc.BASE64Decoder().decodeBuffer(myBase64); ByteArrayInputStream mem_in = new ByteArrayInputStream(newBytes); ObjectInputStream obj_in = new ObjectInputStream(mem_in); Object myResult = obj_in.readObject(); System.out.println(myResult.getClass().getName()); System.out.println(myResult); }catch(Exception ex) { ex.printStackTrace(); }console:java.lang.String你快点给我分,我要一百,不算多 谢谢你的答复,不过你的那个sun.misc.BASE64Decoder是不是要下载啊?为什么要用那个啊?你回答一下,我赠送给你200分 不用下载,jdk1.4 有,你直接用就行,我一百就满足了。 sun.* 开头的jdk是sun公司没有公司承诺在后续的jdk版本是必段会支持它们,但java.*,javax.*的jdk的承诺是后续的jdk版本都能用。 Java中关于String的问题 如何做一个程序当点关闭按钮时不退出而是在任务栏的显示一个小托盘 做了一个用计时器每5分钟执行一次的程序,如何让它在系统后台运行 System.in的包装方式 poi导出excle报表问题 java+mysql 难道 用rmi写网络文件传输有弊端吗?????????? Swing的一个问题 构造器里调用构造器的问题 急啊!如何以邮件形式提交表单,而且可以打开阅读?谢谢 关于requestFocus()?帮忙解释? 我的jbuilder8的web项目,怎么只有applet可用。十万火急。
str.getByte();没有这个方法应该是
str.getBytes();
其他地方绝对没有笔误.]to llgui:
你肯定是没有改动1,2两处,我是说改了就出错了,麻烦你再试一次。
请注意char和byte 的区别!!!!!
String testObject = "你快点给我分,我要一百,不算多";
ByteArrayOutputStream mem_out = new ByteArrayOutputStream();
ObjectOutputStream obj_out = new ObjectOutputStream(mem_out); obj_out.writeObject(testObject);
/*1*/byte[] bytes = mem_out.toByteArray();
long length = bytes.length;
String myBase64 = new sun.misc.BASE64Encoder().encode(bytes);
obj_out.close();
mem_out.close(); /*2*/
byte[] newBytes = new sun.misc.BASE64Decoder().decodeBuffer(myBase64);
ByteArrayInputStream mem_in = new ByteArrayInputStream(newBytes); ObjectInputStream obj_in = new ObjectInputStream(mem_in);
Object myResult = obj_in.readObject(); System.out.println(myResult.getClass().getName());
System.out.println(myResult);
}catch(Exception ex)
{
ex.printStackTrace();
}console:
java.lang.String
你快点给我分,我要一百,不算多
你回答一下,我赠送给你200分