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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 清心玉质 中级黑马   /  2013-8-2 12:12  /  2049 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-8-6 22:03 编辑

  下面文件执行的时候发生错误:ArrayIndexOutOfBoundsException: 1
不知道错在哪里
info.txt里的内容:
zhangsan=30
lisi=40
wangwu=39
代码:
import java.io.*;
import java.util.*;
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("=");
    System.out.println(arr[0]+"....."+arr[1]);
    System.out.println(line);
    //prop.setProperty(arr[0],arr[1]);
   }
   bufr.close();
   //System.out.println(prop);
}
}

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

12 个回复

倒序浏览
我运行正常啊,提示的是数组角标越界异常,你这没越界啊!
回复 使用道具 举报
魏先勇 发表于 2013-8-2 12:42
我运行正常啊,提示的是数组角标越界异常,你这没越界啊!

提示越界异常 你那里还能正常运行?我这里是越界异常,没运行出正确结果
回复 使用道具 举报
本帖最后由 魏先勇 于 2013-8-2 13:31 编辑
  1. import java.io.*;
  2. import java.util.*;

  3. class PropertiesDemo
  4. {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 method_1();
  8.         }

  9.         public static void method_1() throws IOException
  10.         {
  11.                 BufferedReader bufr = new BufferedReader(new FileReader("info.txt"));
  12.                 String line = null;
  13.                 Properties prop = new Properties();
  14.                 while ((line = bufr.readLine()) != null)
  15.                 {
  16.                         String[] arr = line.split("=");
  17.                         System.out.println(arr[0] + "....." + arr[1]);
  18.                         //System.out.println(line);
  19.                         prop.setProperty(arr[0],arr[1]);
  20.                 }
  21.                 bufr.close();
  22.                 System.out.println(prop);
  23.                 System.out.println(prop.getProperty("zhangsan"));
  24.         }
  25. }
复制代码
你试试我的。你的是哪行出的异常?
回复 使用道具 举报
魏先勇 发表于 2013-8-2 13:29
你试试我的。你的是哪行出的异常?

还是不行,第19行
回复 使用道具 举报

还是越界
回复 使用道具 举报
本帖最后由 魏先勇 于 2013-8-2 15:36 编辑

那就是你的info.txt文件有问题了,重新建一个试试,把文件写成这样
zhangsan30=
lisi=40
wangwu=39
就会报“越界”异常。
要不你就把19行改成获取数组长度的打印语句看看长度为几。

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
程序看不出来问题啊。如果有问题我猜想哈,可能是文件txt里,String[] arr = line.split("=");语句你执行完后,数组里只有一个元素,所以就报异常了。
回复 使用道具 举报
魏先勇 发表于 2013-8-2 15:34
那就是你的info.txt文件有问题了,重新建一个试试,把文件写成这样
zhangsan30=
lisi=40

数组长度=1
数组长度=1
数组长度=2
数组长度=2
数组长度=2

先是1,然后是2 不知道怎么回事
回复 使用道具 举报
清心玉质 发表于 2013-8-2 17:06
数组长度=1
数组长度=1
数组长度=2

把你txt文件传上来看看吧
回复 使用道具 举报
新建info.txt文件。
zhangsan30=
lisi=40
wangwu=39
就会报“越界”异常。
要不你就把19行改成获取数组长度的打印语句。
回复 使用道具 举报
新建info.txt文件。 zhangsan30= lisi=40 wangwu=39 就会报“越界”异常。 要不你就把19行改成获取数组长度的打印语句。
回复 使用道具 举报
我运行是正常的,没有出错!
是不是你的文件的路径也错了,也许你本路径下有个info.txt文件,然而另外一个位置也有相同文件名的文件,你看的是另一个文件,两个文件的内容是不一样的,你试一试也绝对路径是一下!也许不是同一个文件!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马