您的位置:首页 > 其它

累了一个上午,终于把问题解决了

2011-08-27 13:57 218 查看
现在是北京时间2011年8月27日

在上个星期的工作中利用jxl将excel上传并解析到数据库中,但最终发现一个问题,每次上传新的excel可是解析的仍然是上一次上传的,这个确实愁死我了,这意味中我忙了近3个星期的工作就泡汤了,我开始一个个的测试,却又报出了一个数组越界的错误,晕,上个问题没解决又冒出个新问题,后来上网找资料,怀疑是excel过大的问题,我发现这次上传的excel中有6w多行,虽然很多都是空着的。这个问题算是解决了。怀疑是内存没有释放的问题,后来发现只要重新启动tomcat,程序就正常了,这个让我开始怀疑我的代码的问题,java不是自动回收垃圾内存的吗?我开始到处写System.gc()可还是没有效果,

InputStream is= ExcelImport.class.getClassLoader().getResourceAsStream("../../upload/pro.xls");

我觉得这个地方有问题了,虽然我对java的类加载的原理还不是很了解,但这个地方我的猜想是估计只在程序运行的时候加载一次,我想换个方法,但是在java类中获得webroot下得路劲好像也只有这个方法了。。。

算了,写个servlet类吧,

String path=request.getRealPath("/upload/pro.xls");

System.out.print(path);

InputStream is=new FileInputStream(path);

测试,终于问题得以解决了,心情豁然开朗啊,早上8点多起来的,10点开始工作,到1点半的时候问题才得以解决,编程真是不容易的啊。。。。。

有时候遇到错误,真得很无力,想到csdn论坛问,可是没积分了,想想周围的人把,又没有会的。

在一个非IT的公司从事着IT的工作,我不知道自己还能坚持多久,努力吧,告诫自己。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐