社区
Web 开发
帖子详情
紧急求助!!文件下载时中途停止下载,后台报java.lang.ArrayIndexOutOfBoundsException
simplexc
2012-10-30 06:34:26
如题,我在文件下载时按下F5 刷新,后台报错java.lang.ArrayIndexOutOfBoundsException
显示是write(i)这一行。。请各位大侠帮帮忙,怎样解决。。。
本人菜鸟……
...全文
455
12
打赏
收藏
紧急求助!!文件下载时中途停止下载,后台报java.lang.ArrayIndexOutOfBoundsException
如题,我在文件下载时按下F5 刷新,后台报错java.lang.ArrayIndexOutOfBoundsException 显示是write(i)这一行。。请各位大侠帮帮忙,怎样解决。。。 本人菜鸟……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2012-10-31
打赏
举报
回复
你这种情况应该是下载代码所属的类是单例的,出现了多线程问题。
就是让你的下载代码在同一个session中串行化,也就是在同一个session中下载代码不能并行执行。
在下载代码中:
获取session,对session加锁。
synchronized (session) {
//下载代码放在这里
}
simplexc
2012-10-31
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
根据楼主的描述,你是在下载中刷新才会有异常,如果不刷新就没有异常了,对吧?
不知道你的下载代码有没有做session同步?没有的话就同步吧
[/Quote]
请问怎样为下载代码做session同步?
「已注销」
2012-10-31
打赏
举报
回复
根据楼主的描述,你是在下载中刷新才会有异常,如果不刷新就没有异常了,对吧?
不知道你的下载代码有没有做session同步?没有的话就同步吧
simplexc
2012-10-31
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
while ((i = in.read()) != -1) {
out.write(buffer,0,i);//为什么不用这个write方法?buffer是缓存大小,自己定义1024的倍数都可以
}
[/Quote]
还是有问题的。
f47180383
2012-10-31
打赏
举报
回复
应该是,中途停止下载,对象里的值被清空了,相当于一个新的对象。你单步调试下。没有试过,只是猜测!
花谢尊前不敢香
2012-10-31
打赏
举报
回复
while ((i = in.read()) != -1) {
out.write(buffer,0,i);//为什么不用这个write方法?buffer是缓存大小,自己定义1024的倍数都可以
}
simplexc
2012-10-31
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
意思好像是角标越界 不知道是不是
[/Quote]
我也知道是下标越界了,但如果正常下载,就不会报错,只有中途停止(程序在跑时,取消下载)才会打出这个错。。
嘿嘿121231
2012-10-30
打赏
举报
回复
意思好像是角标越界 不知道是不是
simplexc
2012-10-30
打赏
举报
回复
各位大侠,求助了。。再不顶一下,帖子就沉了。。
simplexc
2012-10-30
打赏
举报
回复
自己顶一下。。
simplexc
2012-10-30
打赏
举报
回复
程序:in = new BufferedInputStream(
new FileInputStream(exportFile.getPath()));
response.reset();
response.setContentType("application/pdf");
String filename = new String(
filePath.getBytes("GBK"), "ISO8859_1").trim();
response.setHeader("Content-Disposition","inline;attachment;filename="+filename);
out = new BufferedOutputStream(response.getOutputStream());
int i = 0;
while ((i = in.read()) != -1) {
out.write(i);
}
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
catch (Exception e)
{
File file;
e.printStackTrace();
}
finally
{
File file;
if (out != null) {
try {
out.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
错误信息:
12/10/30 11:01:55 java.lang.ArrayIndexOutOfBoundsException
12/10/30 11:01:55 at java.lang.System.arraycopy(Native Method)
12/10/30 11:01:55 at com.evermind.server.http.EvermindServletOutputStream.write(EvermindServletOutputStream.java:216)
12/10/30 11:01:55 at com.evermind.server.http.EvermindServletOutputStream.write(EvermindServletOutputStream.java:151)
12/10/30 11:01:55 at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
12/10/30 11:01:55 at java.io.BufferedOutputStream.write(BufferedOutputStream.java:79)
dw_java08
2012-10-30
打赏
举报
回复
把你的代码提出来看一下,然后把整个报错信息都提出来。
AXMLPrinter2错误修正版本
解决AXMLPrinter2反编译的
时
候
报
错问题。
java
.
lan
g.
Array
IndexOutOfBoundsException
: 128 at android.content.res.StringBlock.getShort(StringBlock.
java
:231) at android.content.res.StringBlock.getString(StringBlock.
java
:91) at android.content.res.AXmlResourceParser.getName(AXmlResourceParser.
java
:140) at test.AXMLPrinter.main(AXMLPrinter.
java
:56)
已解决
java
.
lan
g.
Array
IndexOutOfBoundsException
异常的正确解决方法,亲测有效!!!
java
.
lan
g.
Array
IndexOutOfBoundsException
是
Java
中的一个运行
时
异常,表示数组索引超出范围。
java
.
lan
g.
Array
IndexOutOfBoundsException
异常分析及解决
这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界。 下面是一个错误示例: Exception in thread "main"
java
.
lan
g.
Array
IndexOutOfBoundsException
: 2 at test4.State.nextStates(State.
java
:93) at test4.State.main(State.ja...
报
错:
java
.
lan
g.
Array
IndexOutOfBoundsException
——数组越界
题目: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组. class Solution { public int removeDuplicates(int[] nums) { int count=nums.length; for(int i=0;i<co...
java
.
lan
g.
Array
IndexOutOfBoundsException
java
.
lan
g.
Array
IndexOutOfBoundsException
is a runtime exception, so it’s a unchecked exception and don’t need to be thrown explicitly from method. Refer Exception Handling in
java
java
.
lan
g.
Array
Index...
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章