【问题标题】:exception in file reading [closed]文件读取异常[关闭]
【发布时间】:2013-04-14 13:34:02
【问题描述】:

我在这段代码中有一个异常,我无法找出问题所在。 此代码在没有 while 循环的情况下运行,但在使用 WHILE 循环时会给出异常

 ProbabilityQueryTutorial.main(ProbabilityQueryTutorial.java:47)

【问题讨论】:

  • 我不知道出了什么问题,不是这里的问题被接受的形式...

标签: java exception netbeans file-handling


【解决方案1】:

NullPointerException 在这一行被抛出:

at ProbabilityQueryTutorial.main(ProbabilityQueryTutorial.java:47)

我不确定它到底是哪一行(也许你可以指出来?)。但我注意到其他一些可能会影响您的事情:

变量名

您的变量名使用大写字母。这通常是不鼓励的,因为只有 class 名称应该有大写字母。示例:

String File="C:\\testing.txt";
BufferedReader br = new BufferedReader(new FileReader(File));

Filefile 对象的 Java 类,但您将其用作字符串。

readLine()

sCurrentLine = br.readLine();
while ((sCurrentLine = br.readLine()) !=null)

在while 条件下,您已经将br.readLine() 的返回值分配给变量sCurrentLine。但是您也可以 进入while 循环之前执行相同的操作。意思是,如果您想要跳过文件的第一行,没关系。但是如果你需要第一行,你应该删除while循环之前的赋值,并保持while原样。

空实例化

当您不需要whileloop 之外的变量(例如变量String sCurrentLine)时,您无需在 while 循环之前声明它并实例化它与null。只需将其移动到 while 内,并在第一次需要时声明它。 (这样您就可以避免出现null 变量)。

现在,如果您仍然遇到错误,也许我们可以进一步缩小搜索范围。只需告诉我们在哪一行抛出异常即可。

【讨论】:

  • 感谢您的回复 :) 错误类似于 bn.getEvidenceController().setObservations(evidence);好的,我正在更改变量的名称
猜你喜欢
  • 2012-04-18
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-25
相关资源
最近更新 更多