用socket写了个客户端和服务器。服务器用DataOutputStream输出流response用户的请求。客户端用BufferedReader读取服务器发来的流,并存一个数组,然后写入新文件。现在遇到如下问题,客户端不能正确读取服务器端传出的5图像文件的流。

解决方案 »

  1.   

    你应该用byte[]数组缓存流BufferReader好像是以char存储的而且,对于TCP传输的话,最好还是直接用字节数组处理
    用BufferReader二次缓存的话,有可能丢失数据
      

  2.   

    对于binary的数据,用InputStream/OutputStream来处理
    对于char数据,才使用Reader/Writer来处理
    你的代码在client端使用Reader来读binary的数据,会自动将读到的byte组装成char,可能导致数据丢失。
      

  3.   

    恩,对了。图像是位流。应该用byte[]来存取……