java文件转换为byte数组

刚才想将一个文件转换为byte数组,但是数组里面存放的最大元素的个数为Integer的最大值也就是byte[]bt=newbyte[2147483647];里面最多存放2... 刚才想将一个文件转换为byte数组,但是数组里面存放的最大元素的个数为Integer的最大值也就是byte[] bt=new byte[2147483647];里面最多存放2147483647个元素,如果说,我像把一个较大的文件,字节数大于2147483647的文件可以直接转换为byte数组么?求指导 展开
 我来答
百度网友2acf15a
2014-02-27 · TA获得超过1534个赞
知道小有建树答主
回答量:1123
采纳率:81%
帮助的人:263万
展开全部

那你可以把文件的都分成 一小部分来写啊

如:

FileInputStream ins = new FileInputStream(file);//定位流
BufferedInputStream br = new BufferedInputStream(ins);//读取流
OutputStream ous = response.getOutputStream();

/*这段应该就是你原本的写法*/
/*byte b[] = new byte[(int) file.length()];
  while(br.read(b) != -1){
//将b中的数据写到客户端的内存
        ous.write(b);
  }*/

/*改成这种就可以了*/
byte b[] = new byte[1024];
int len = 0;
while((len = br.read(b)) != -1){
ous.write(b,0,len);
}

望采纳,加分

追问
我知道可以这样写,我的意思是,能不能直接把一个比如说4G大小的文件,直接写入到byte数组里面去
追答
应该是不行了,太大了。不好意思,我还真没有试过的,我现在也找不到这么大的文件。你试试咯!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式