我想编写一个方法,使用ArrayList而不是静态String []数组从java中的文件读取数据。这是我到目前为止写的:
public static ArrayList<String> loadText(String file) {
ArrayList<String> ret = null;
BufferedReader in = null;
String line = null;
try {
in = new BufferedReader(new FileReader(file));
while((line = in.readLine()) != null) {
ret.add(line);
}
} catch (Exception e){
e.printStackTrace();
} finally {
if(in != null) {
try {
in.close();
} catch (Exception e){
e.printStackTrace();
}
}
}
return ret;
}
这就是我在Test类中调用此方法的方法:
import java.util.ArrayList;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> text = Files.loadText("podaci.txt");
System.out.println(text);
}
}
有一个问题:
ret.add(线);
我收到了NullPointerException,我无法弄明白为什么......
答案 0 :(得分:1)
该行
ArrayList<String> ret = null;
将变量ret设置为null。 该行
应该不足为奇ret.add(line);
抛出NullPointerException。
考虑分配一个ArrayList。 甚至可能是这样的:
ArrayList ret = new ArrayList();
被修改