一个简单的java拷贝文件问题,想不明白 javabuffer拷贝 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 while循环每次从源文件读出1444字节的数据后写到目的文件,用if也可以是因为文件的大小小于等于1444字节。 官方文档对InputStream的read()方法返回值的解释:Returns: the next byte of data, or -1 if the end of the stream is reached.-1就表示流结束也就是文件读完了,所以说那里用while和if都是一样的。 if是你读的文件短吧,这里肯定是要用while的。 while循环和if判断能一样么,,,,,, 眼睛大哥这次引用的官方jpi好 你试试复制一个大文件(比如说1M),用if是不完整的你复制一个小文件,准确来说小于等于你的buffer大小(1444字节),用if能成功那是碰巧因为read(buffer)一次最多读buffer大小的数据,所以你需要用while一直读到文件尾,而如果你文件比较小,一次就读完了,所以用if似乎也能达到效果,但实际是不对的 while是循环读取数据啊,你如果用if,当文件内容小于你一次读取的字节数时候是没问题的,但是当大于你一次读取的字节数时候就会出现问题了 java板块专家分第一居然能说出这种话 关于java中的逻辑运算符问题 100分:中文转换的老问题!找了6个小时了。求代码。在线等。。 如何对文本文件内容进行定位(随机存取) 如何由string类型的类名生成类的实例? 关于在startup.bat中设置环境变量的问题 replaceFirst("\","\\");的问题 高分寻求eclipse资料 极初级问题。送分 如何使一个按钮响应多个事件?过来侃侃@!!!! Applet的几点疑问? 关于apache.commons.net.telnet.TelnetClient 关于java程序发布的问题
Returns: the next byte of data, or -1 if the end of the stream is reached.
-1就表示流结束也就是文件读完了,所以说那里用while和if都是一样的。
你复制一个小文件,准确来说小于等于你的buffer大小(1444字节),用if能成功那是碰巧
因为read(buffer)一次最多读buffer大小的数据,所以你需要用while一直读到文件尾,而如果你文件比较小,一次就读完了,所以用if似乎也能达到效果,但实际是不对的
java板块专家分第一居然能说出这种话