java:IO流的操作,,byte数组的大小会影响写入速度么?

FileOutputStream.write(newByte[10];//Byte数组的大小会影响写入的速度么?比如:长度为10的byte和长度为1024的byte,10... FileOutputStream.write(new Byte[10];//Byte数组的大小会影响写入的速度么?
比如:长度为10的byte和长度为1024的byte,1024的byte写入速度大于10的byte吗?
展开
 我来答
zhongtyler
2014-10-17 · TA获得超过4408个赞
知道大有可为答主
回答量:4384
采纳率:79%
帮助的人:915万
展开全部
理论上讲会。每次文件读写是以簇为单位,每簇都要消耗时间,如果byte数大于一簇,肯定要多花时间。 不过现在电脑最小的簇也是4K,你的这两个对象没有差别。
如果你的io流是针对网络,那么就不是簇,而是一个包的大小。有些包的载量比1K小,可能会有些差别。
不过一般来说 10 和1024的差别,人是感觉不到的。
糯软白0b1
推荐于2017-10-03
知道答主
回答量:40
采纳率:0%
帮助的人:17.8万
展开全部
数据越多花费的时间肯定是越长的,不过1024和10一般体现不出来!你可以弄个大点的文件试下!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1721000379
2014-10-17 · TA获得超过169个赞
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:58.6万
展开全部
结果:
Size = 10,Use Time:4
Size = 1024,Use Time:1
===========测试代码============
package filehleper;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class ReadFile {

public static void main(String[] args) throws IOException {
// read("test.txt", 10);
read("test.txt", 1024);
}

public static void read(String file,int len) throws IOException{
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[len];
int size = 0;
long time = System.currentTimeMillis();
while (-1 != (size = fis.read(buffer))) {

}
System.out.println("Size = "+len+",Use Time:"+(System.currentTimeMillis()-time));
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式