inStream = new DataInputStream(connSock.getInputStream());
String str = inStream.readUTF();DataInputStream in =new DataInputStream(new FileInputStream ("d:\\javacode\\source.txt"));
i=0;
while(i>=0)
{
try
{
b=in.readByte(); //每次读8位
System.out.print((char)b); //如何将8位转成16位的字符输出?若那样也应该每次
i++; 读2个字节啊?
}
String str = inStream.readUTF();DataInputStream in =new DataInputStream(new FileInputStream ("d:\\javacode\\source.txt"));
i=0;
while(i>=0)
{
try
{
b=in.readByte(); //每次读8位
System.out.print((char)b); //如何将8位转成16位的字符输出?若那样也应该每次
i++; 读2个字节啊?
}
用下边的替换:
BufferedReader d
= new BufferedReader(new InputStreamReader(in));因为没有缓冲的reader 对整行的读取难以保证.
s = s + Character.forDigit(data >> 4 & 0xf, 16);
s = s + Character.forDigit(data & 0xf, 16);
return s;s 现在是 16 进制表示的数,是不是你想要的格式?