这个错误遍布整个互联网,但没有一个"解释"永远解释一下,也不解决我的问题。
public Properties getProperties(String propertiesFileName)
{
Properties prop;
prop = new Properties();
InputStream in = new FileInputStream(propertiesFileName);
prop.load(in);
in.close();
return prop;
IOException localIOException;
localIOException; //THIS LINE THROWS THE ERROR
localIOException.printStackTrace();
return null;
}
表示" localIOException;"是错误的原因。请告诉我如何解决这个问题和/或它为什么会发生这种情况。感谢。
编辑:
看看这三行:
IOException localIOException;
localIOException;
localIOException.printStackTrace();
如果我删除中间线,我会在整个地方出错。出于原因,我不明白中间线必须在那里,但这是导致我的错误的线。
答案 0 :(得分:2)
Java语言规范禁止使用与其认为的表达式不符的行。您不会在对象上调用方法或将其分配给变量,这是编译器告诉您的。
答案 1 :(得分:0)
这有效:
public Properties getProperties(String propertiesFileName)
{
try {
Properties prop;
prop = new Properties();
InputStream in = new FileInputStream(propertiesFileName);
prop.load(in);
in.close();
return prop;
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
答案 2 :(得分:0)
如果您正在访问文件并且想要检查可能的错误(使用java异常),那么您应该使用try / catch块:
代码:
public Properties getProperties(String propertiesFileName)
{
Properties prop;
prop = new Properties();
try
{
InputStream in = new FileInputStream(propertiesFileName);
prop.load(in);
in.close();
return prop;
}
catch (IOException localIOException)
{
localIOException.printStackTrace();
return null;
}
}
您编写的代码等同于写:
int x; // IOException localIOException;
x; // localIOException; //THIS LINE THROWS THE ERROR
这就是错误的含义,变量的名称本身不是Java的表达式。