日期:2014-05-20  浏览次数:20719 次

请教byte[]数组的设置问题
我现在如果想读取一个9M大小的文件
InputStream is = new FileInputStream(new File("E://abc.txt"));
byte[] buff = new byte[is.available()];
//.....这个是关于byte数组大小设置的问题,所以下面的读取就省略了。。

is.close();

问题:
不知道这样设置byte数组的大小,有没有什么不妥啊,或者有什么更好的方法吗?
------解决方案--------------------
楼主首先要明白读文件用byte[]数组的意义,你才会更加明白这个组数设置的大小.
byte[]的大小,说明你一次操作最大字节是多少,当然,这个越大,一次处理,所占内存就多大.is.available()返回的应该是文件可读字节数,也就是文件总大小,你这是要一次读完9M到内存后才进行操作.这太奢侈了吧.
------解决方案--------------------
你这样写个人觉得没意义吧,你一次性督导内存是没问题的吗,但这是不是你的需求呢,我不知道