-2
我试图从文件的内容创建一个Java String []。阅读文本文件的问题 - java.lang.StringIndexOutOfBoundsException
的代码是:
private String[] arr;
private List<String> list = new ArrayList<String>();
public String[] readfile (String fileName) {
try {
br = new BufferedReader(new FileReader(fileName));
while((str = br.readLine()) != null){
list.add(str);
}
arr = list.toArray(new String[list.size()]);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null){
br.close();
}
} catch (IOException e2) {
e2.printStackTrace();
}
}
return arr;
}
功能显然作品。实际上,变量arr包含文件的内容。
但是,在此行之后,arr = list.toArray(new String[list.size()]);
函数不返回arr
。我得到java.lang.StringIndexOutOfBoundsException: String index out of range: 0
可能是什么问题?
你能检查一下'list.size()'返回的是什么数字吗? – wtsang02
我不认为这是你提供的引起这个异常的代码。你能提供整个堆栈跟踪吗? –
@ wtsang02如果名单是什么大小,那么它的大小并不重要。如果给定的数组很小以适应列表,'toArray()'方法创建一个新数组。 –