将split字符串传递给构造函数参数时的ArrayIndexOutOfBound

时间:2016-12-19 10:53:15

标签: java arrays exception

我的代码没有什么问题。它一直在分割线上给我ArrayIndexOutOfBoundsException。有人能告诉我分裂线有什么问题吗? 我正在读取文件中的字符串,将其拆分为两个,然后使用参数中的拆分字符串构造一个新对象以保存在memberList中。 这是我的txt文件

counter.strike@gmail.com Password
shane.atik@hotmail.com telephone
wise.man@ymail.com 123423
EOF

我改变了我的代码。但这对分裂线仍然没有帮助。

try {
            br = new BufferedReader(new FileReader("\\memberlist.txt"));
            String inputLine; 
            while( (inputLine = br.readLine())!= null ){
                String[] split = inputLine.split(" ");    
                User newUser = new User(split[0], split[1]);
                memberList.put(key, newUser);
                key++;
        }

PS有一个catch子句。这是我的文本文件的样子

2 个答案:

答案 0 :(得分:2)

如果没有你的txt文件,很难帮助你。 ArrayIndexOutOfBoundsException指示您的拆分返回一个空数组或只有一个结果的数组。你的代码中可能有一行没有空格。

尝试使用eclipse的debbug模式或显示数组的内容以对其进行调整。

祝你好运。

答案 1 :(得分:0)

曾经考虑过一行没有" &#34 ;.在这种情况下,您将获得IndexOutOfBound异常,因为split [1]不存在。