我创建了一个构造函数,它接受.txt文件名并将其中的数据作为ArrayList打印。
public class rrr {
private String filename;
public rrr(String afilename){
afilename=filename;
}
public void readdtata() throws IOException {
FileReader p1=new FileReader(filename);
BufferedReader p2=new BufferedReader(p1);
ArrayList<String> data=new ArrayList<String>();
String line;
while((line=p2.readLine()) != null){
data.add(line);
}
p2.close();
for(int i=0;i<data.size();i++){
System.out.println(data.get(i));
}
}
}
试图测试时我得到了这些错误 线程&#34; main&#34;中的例外情况显示java.lang.NullPointerException
at java.io.FileInputStream.<init>(FileInputStream.java:116)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at java.io.FileReader.<init>(FileReader.java:41)
at rrr.readdtata(rrr.java:14)
at testin.main(testin.java:17)
请有人知道如何解决这个问题。
答案 0 :(得分:3)
在你的构造函数中我认为它应该是:
public rrr(String afilename){
this.filename = afilename;
}