我新手 最近学习java的socket编程的时候用流发现了一个小问题 麻烦知道的高手说下。
问题就出在ByteArrayOutputStream这个流的转换上面。
byte[] data=new byte[50];
ByteArrayOutputStream outBuf=new ByteArrayOutputStream();
int i=0;
while(i!=-1){
i=in.read(data, 0, 50);
if(i>0){
outBuf.write(data, 0, i);
}
}
byte[] datahead=outBuf.toByteArray();
String Xml=datahead.toString();
// String Xml=outBuf.toString();
System.out.print(Xml); 问题就出现了 。两个输出的结果完全不一样。打//的可以正确得到结果 而用上面的方法无法得到正确的结果。我想了很久还是无法想到为什么会出现这种情况。 知道的说下啊 感激不尽啊
问题就出在ByteArrayOutputStream这个流的转换上面。
byte[] data=new byte[50];
ByteArrayOutputStream outBuf=new ByteArrayOutputStream();
int i=0;
while(i!=-1){
i=in.read(data, 0, 50);
if(i>0){
outBuf.write(data, 0, i);
}
}
byte[] datahead=outBuf.toByteArray();
String Xml=datahead.toString();
// String Xml=outBuf.toString();
System.out.print(Xml); 问题就出现了 。两个输出的结果完全不一样。打//的可以正确得到结果 而用上面的方法无法得到正确的结果。我想了很久还是无法想到为什么会出现这种情况。 知道的说下啊 感激不尽啊
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货