本帖最后由 xingyuwei 于 2012-09-03 17:43:34 编辑

解决方案 »

  1.   

    read方法是从此输入流中读取下一个数据字节,楼主的做法数据必然会导致错误(读了2次)
      

  2.   

    read方法是从此输入流中读取下一个数据字节;楼主的做法必然会导致数据写入错误(读了2次)
      

  3.   

     while(fis.read()!=-1)
            {
                fos.write(fis.read());        
            }
    fis.read()执行了2边   判断里就读了一个字节     fos.write(fis.read())里读到的是下一个字节        
      

  4.   

    while(fis.read()!=-1)
      {
      fos.write(fis.read());   
      }
    这样写,导致2个错误。1)while(fis.read()!=-1)
    这里的read出来的东西,没有被write
    2)fos.write(fis.read());   
    如果这里读到-1表示读到最后了,这样写就不能判断是不是最后了。
      

  5.   

    哦,明白了,if里面执行了一次read,在write的时候又执行了一次;书上的过渡使得read()只执行一次。聊噶一码西大,3Q。