解决方案 »

  1.   

    while循环每次从源文件读出1444字节的数据后写到目的文件,用if也可以是因为文件的大小小于等于1444字节。
      

  2.   

    官方文档对InputStream的read()方法返回值的解释:
    Returns: the next byte of data, or -1 if the end of the stream is reached.
    -1就表示流结束也就是文件读完了,所以说那里用while和if都是一样的。
      

  3.   

    if是你读的文件短吧,这里肯定是要用while的。
      

  4.   

    while循环和if判断能一样么,,,,,,
      

  5.   

    眼睛大哥这次引用的官方jpi好
      

  6.   

    你试试复制一个大文件(比如说1M),用if是不完整的
    你复制一个小文件,准确来说小于等于你的buffer大小(1444字节),用if能成功那是碰巧
    因为read(buffer)一次最多读buffer大小的数据,所以你需要用while一直读到文件尾,而如果你文件比较小,一次就读完了,所以用if似乎也能达到效果,但实际是不对的
      

  7.   

    while是循环读取数据啊,你如果用if,当文件内容小于你一次读取的字节数时候是没问题的,但是当大于你一次读取的字节数时候就会出现问题了
      

  8.   


    java板块专家分第一居然能说出这种话