我的Java代码有问题。我想将一个文件(xml文件)作为输入参数传递给一个方法。我粘贴我的代码:
public File searchPlaces(){
URL url = getClass().getResource("arml.xml");
File file = new File(url.getPath());
return file;
}当我尝试调用这个方法时,我有一个NullPointerException。
有人能帮我吗?
发布于 2012-01-24 00:07:52
未检查url是否初始化为非空值。
一旦有了有效的非空URL,就可以尝试从它创建一个File对象。您可能必须检查该文件是否也是非null的(或者此方法可能被允许返回null项)。无论哪种方式,在Java中返回null项(File或其他)都是完全可以接受的。
取消引用null (在未引用任何内容的对象引用上调用方法)不是这样的。这就是为什么你会得到错误,在
url.getPath()您只是错误地识别了它的失败之处。
发布于 2012-01-24 00:07:24
是的你可以。如果新的File()调用产生异常,您可能会得到一个空指针。
调试并查看Url是否不为空。
发布于 2012-01-24 00:40:24
这里您可能想要做的不是返回文件对象,而是返回一个BufferedReader或FileReader,或者可能是一个FileInputStream。然后,使用try/catch将所有错误处理封装在方法中,或者使用throws声明将错误冒泡起来。
https://stackoverflow.com/questions/8974632
复制相似问题