java.lang.ArrayStoreException问题求助

yjy0720 2013-11-25 09:59:47
各位大神,请问出现这种情况是怎么回事呢?
java.lang.ArrayIndexOutOfBoundsException: src.length=1668600 srcPos=0 dst.length=417150 dstPos=0 length=1668600

代码部分为:
FileInputStream fin = new FileInputStream("/sdcard/bin.EOL");
int len = fin.available();
byte [] buffer = new byte[len];
int [] buf=new int[len/4];
fin.read(buffer);
System.arraycopy(buffer,0,buf,0, len);
...全文
2857 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
luxiaoshuai 2013-11-26
  • 打赏
  • 举报
回复
System.arraycopy 应该不能满足你的需求,我倒是有个建议,写一个四个字节转int的方法,然后把字节数组循环,每四个字节调用方法一次。然后再添加到int数组里。
yjy0720 2013-11-26
  • 打赏
  • 举报
回复
引用 6 楼 yousteely 的回复:
可以修改两个地方,但不要同时修改


FileInputStream fin = new FileInputStream("/sdcard/bin.EOL");
int len = fin.available();
byte [] buffer = new byte[len];
int [] buf=new int[len/4]; //修改一 这里直接给len 不要除4
fin.read(buffer);
System.arraycopy(buffer,0,buf,0, len); //修改二 len/4-1
//两个修改二选一,不要同时修改


成啦成啦~就是又出现一个问题了


说是两个数组不匹配,但是我就是想要把它复制为int型的呀~怎么解决~~~
steely_chen 2013-11-26
  • 打赏
  • 举报
回复
可以修改两个地方,但不要同时修改


FileInputStream fin = new FileInputStream("/sdcard/bin.EOL");
int len = fin.available();
byte [] buffer = new byte[len]; 
int [] buf=new int[len/4];  //修改一 这里直接给len 不要除4
fin.read(buffer);
System.arraycopy(buffer,0,buf,0, len); //修改二 len/4-1
//两个修改二选一,不要同时修改
yjy0720 2013-11-26
  • 打赏
  • 举报
回复
引用 4 楼 yousteely 的回复:
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。


System.arraycopy(buffer,0,buf,0, len-1);
//注意这里不能直接使用原数组的长度,java中数组是从0开始的,最后一个参数是结束的位置


已经按照您的方法改了,可是还出现问题...
steely_chen 2013-11-26
  • 打赏
  • 举报
回复
arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

System.arraycopy(buffer,0,buf,0, len-1);
//注意这里不能直接使用原数组的长度,java中数组是从0开始的,最后一个参数是结束的位置
疯狂的球球ww 2013-11-26
  • 打赏
  • 举报
回复
超出索引值了
jfcm 2013-11-25
  • 打赏
  • 举报
回复
学习了,谢谢
狂热的土豆 2013-11-25
  • 打赏
  • 举报
回复
buf变量换成byte[]类型

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧