本帖最后由 pccper007 于 2011-10-02 18:16:06 编辑

解决方案 »

  1.   

      temp = inputStream.read(buffer);            while((temp = inputStream.read(buffer)) != -1){
    你这里执行了两遍读字节的操作,你看你打印出来的东西是不是有漏字节的现象?当temp = inputStream.read(buffer);执行到末尾返回了-1,再执行一次while((temp = inputStream.read(buffer)) != -1)会是什么效果?
      

  2.   

     byte buffer [] =new byte[1024];
                int temp = 0;
                String stringTemp = null;
               // temp = inputStream.read(buffer);
               ByteArrayOutputStream baos = new ByteArrayOutputStream();
                while((temp = inputStream.read(buffer)) != -1){
                    System.out.print("read:");
                    baos.write(datas, 0, temp);
                  }
                   stringTemp = new String(baos.toByteArray());
                    System.out.println(stringTemp);
                    if(stringTemp.startsWith("sendingfile")){
                        String sname = stringTemp.substring(19);
                        System.out.println(sname);
                        System.out.println("set file name");
                        fileName = sname;
                    }
                    System.out.println("set file");
    试试吧
      

  3.   


    第一个temp = inputStream.read(buffer);是我测试的时候打上去的忘记删了。。这个句删掉也是一样的结果。你这样修改之后判断语句并没有什么变化啊?