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个字节啊?

解决方案 »

  1.   

    文档里说得很清楚啊 DataInputStream d = new DataInputStream(in);
    用下边的替换: 
    BufferedReader d
              = new BufferedReader(new InputStreamReader(in));因为没有缓冲的reader 对整行的读取难以保证.
      

  2.   

    to  iloveyouonlyonce:        String s = " ";
            s = s + Character.forDigit(data >> 4 & 0xf, 16);
            s = s + Character.forDigit(data & 0xf, 16);
            return s;s 现在是  16 进制表示的数,是不是你想要的格式?