我正在尝试读取文件。所以在我的“Skanner”类(class)中,我有一个如下所示的字段:
私有(private)阅读器阅读器,readerX;
现在我在构造函数中初始化了这些字段:
public Skanner()
{
try
{
Reader readerX = new FileReader("aliceinwonderland.txt");
Reader reader = new BufferedReader(readerX);
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但是当我尝试使用 Skanner 类的方法中的字段时,出现空指针异常。如果我在构造函数的 try block 中使用 reader.read()
,则不会出现任何问题。为什么我无法在启动的范围之外调用 reader.read()
?
最佳答案
您通过在方法中重新声明实例成员来隐藏它们。从您发布的代码中删除 Reader 类型声明。
关于java - 无法正确启动 Reader 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25601644/