24小时热门版块排行榜    

查看: 1157  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

MJC_G

新虫 (小有名气)

[求助] java.lang.NullPointerException为什么找不到原因呢?

各位大神好,自己在跑程序的时候遇到了    “读取Excel文件c:\WWW\PHP100.Com\Beijing\Beijing_Data\电科院负荷_15分钟.xls失败:java.lang.NullPointerException”          这个问题,可是同样的读取方式另一个excel表格读起来就没有问题,想请问一下,有谁知道这是为什么吗?
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MJC_G

新虫 (小有名气)

引用回帖:
5楼: Originally posted by jianliu67 at 2015-10-16 08:26:42
最好贴一下那部分的代码, 好确定哪一句抛出的异常.

//得到负荷出力预测值
        public static void GetLoadData(){
                HourLoad = new double[8760*Time_interval];
                File file = new File(LoadData_Filename);
                FileInputStream in = null;
                double a = 0;
                sum_load=0;
               
                try {
                        //以下为读取负荷数据
                        in = new FileInputStream(file);
                        HSSFWorkbook workbook = new HSSFWorkbook(in);
                        HSSFSheet sheet = workbook.getSheet("Sheet1";
                        // 下面读取Excel的数据
                        HSSFRow row = null;
                        HSSFCell cell = null;
                        int rowNum = 0;//
                        int colNum=0;
                        for (; rowNum < sheet.getLastRowNum()+1; rowNum++) {
                                // 获取第rowNum行
                                row = sheet.getRow((short) rowNum);
                                                cell = row.getCell(colNum);
                                                a = cell.getNumericCellValue();
                                                HourLoad[rowNum]=a;
                        }
                        in.close();
                } catch (Exception e) {
                        System.out.println("读取Excel文件" + file.getAbsolutePath() + "失败:" + e);
                } finally {
                        if (in != null) {
                                try {
                                        in.close();
                                } catch (IOException e1) {
                                }
                        }
                }
                for(int i=0;i<8760*Time_interval;i++){//将系统负荷值变为原来的1.2倍
                        HourLoad=HourLoad*1;
                                       
                }
                //生成8760*time_interval个正态分布负荷的标准差,计算每小时负荷的预测偏差
                double[] σ_load=new double[8760*Time_interval];
                double[] δ_load=new double[8760*Time_interval];
                for(int i=0;i<8760*Time_interval;i++){
                        σ_load=HourLoad/100;
                }
                for(int i=0;i<8760*Time_interval;i++){
                        double q=0;
                        double s=0;
                        double z=0;
                        double x=0;
                        double r=Math.random();
                        if(r>=0&&r<=0.5){
                                q=r;
                        }else {
                                q=1-r;
                        }
                        s=Math.pow((-2)*Math.log(q), 0.5);
                        z=s-((2.515517*s+0.802853*s+0.010328*s)/(1+1.432788*s+0.189269*s+0.001308*s));
                        if(r>=0&&r<0.5){
                                x=-z;
                        }else if (r==0.5) {
                                x=0;
                        }else if (r>0.5&&r<=1) {
                                x=z;
                        }
                        δ_load=σ_load*x;
                }
                for(int i=0;i<8760*Time_interval;i++){
                        HourLoad=HourLoad+δ_load;
                        sum_load+=HourLoad;
                }
        }
就是这段代码出现问题?读取Excel文件c:\WWW\PHP100.Com\Beijing\Beijing_Data\电科院负荷_15分钟.xls失败:java.lang.NullPointerException
7楼2015-10-16 08:33:09
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

pilihaotian

金虫 (初入文坛)

很有可能是中文乱码,导致找不到路径。你可以改成英文测试一下。

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

时来运转不变的改变的都是最好的
2楼2015-10-16 07:32:47
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MJC_G

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by pilihaotian at 2015-10-16 07:32:47
很有可能是中文乱码,导致找不到路径。你可以改成英文测试一下。

您好,您说的是把excel的中文名改成英文试一下对吗?我试了但是还是相同的结果,以您的经验,还有可能是什么原因造成的呢?谢谢啦!
3楼2015-10-16 08:15:51
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yujiewu

银虫 (正式写手)

4楼2015-10-16 08:25:37
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见