A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 楚轩 于 2014-5-17 07:14 编辑

import java.util.*;
import java.io.*;
class PropertiesDemo
{
        public static void main(String[] args) throws IOException       //偷点懒直接抛了
        {
                 method_1();

        }
        public static void method_1()throws IOException
        {
                BufferedReader bufr = new BufferedReader(new FileReader("info.txt"));
                String line = null;
                Properties prop = new Properties();
                while((line=bufr.readLine())!=null)
                {
                        String[] arr = line.split("=");     
                                                /*若info.txt文件中某行是空行,或者结尾还有空行,bufr.readLine()则不是空,
                         这样我上面显示角标越界异常,但我看视频上没有发生这个现象,为什么呢?*/
                             prop.setProperty(arr[0],arr[1]);               
                }
                bufr.close();
                System.out.println(prop);
        }



评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!欢迎继续来论坛学习~

查看全部评分

8 个回复

倒序浏览
在info.txt中某一行没内容但有回车符,readLine不为空,所以用“=”切不出东西。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!

查看全部评分

回复 使用道具 举报
skill20 发表于 2014-5-16 13:07
在info.txt中某一行没内容但有回车符,readLine不为空,所以用“=”切不出东西。 ...

对,"="切不出东西后,arr数组中就没有元素了,执行到下行语句,会出现角标越界异常对吗?
回复 使用道具 举报
学习一下
回复 使用道具 举报
楚轩 发表于 2014-5-16 17:12
对,"="切不出东西后,arr数组中就没有元素了,执行到下行语句,会出现角标越界异常对吗? ...

a[1]这个就ArrayOutOfBoundException
回复 使用道具 举报
skill20 发表于 2014-5-16 17:19
a[1]这个就ArrayOutOfBoundException


这就是我疑惑的地方,我特意注意了下视频中老毕写的,他在最后加上了回车符,执行的时候是没有问题的,
另外 load方法是根据这个原理封装的对象,空行对其实没有影响的。
所以我就没有找到是哪出了问题。
回复 使用道具 举报
楚轩 发表于 2014-5-16 17:27
这就是我疑惑的地方,我特意注意了下视频中老毕写的,他在最后加上了回车符,执行的时候是没有问题的,
...

最后加回车都到结尾了,在前面有空的行数就会报错。
回复 使用道具 举报
楚轩 中级黑马 2014-5-17 07:13:39
8#
哦,谢了昂。
回复 使用道具 举报
qfch 中级黑马 2014-5-17 08:44:22
9#
不错学学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马