【发布时间】:2015-11-03 01:57:16
【问题描述】:
我正在尝试以以下形式逐行保存文件:
number -> number
number -> number
number -> number
number -> number
等等。等等。
我已将文件保存为以下内容(在 Netbeans 中)
BufferedReader in = new BufferedReader(new FileReader("C:\\Users\\jon\\Desktop\\data.txt"));
String str=null;
ArrayList<String> lines = new ArrayList<String>();
while((str = in.readLine()) != null){
lines.add(str);
}
String[] graph = lines.toArray(new String[lines.size()]);
运行我的函数时出现此错误(代码是逐行存储文件的语法):
线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常: -1
在我职能的不同地方。我假设这是一个问题,因为我正在存储我的文件,错了吗?为什么?
【问题讨论】:
-
异常可能不会发生在不同的地方,但
stderr(错误被打印出来)是异步的,因此不同的运行事件将在输出的不同位置显示它。其次,行号呢?这是肯定的堆栈跟踪。至少告诉我们哪条线路,以便我们更好地为您提供帮助。 -
在 ArrayIndexOutOfBoundsException 异常之后打印 e 会有所帮助。检查lines.size() 的大小。