首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个方法可以返回一个文件吗?

一个方法可以返回一个文件吗?
EN

Stack Overflow用户
提问于 2012-01-24 00:05:33
回答 3查看 17.1K关注 0票数 1

我的Java代码有问题。我想将一个文件(xml文件)作为输入参数传递给一个方法。我粘贴我的代码:

代码语言:javascript
复制
public File searchPlaces(){

     URL url = getClass().getResource("arml.xml");
     File file = new File(url.getPath());

     return file;
}

当我尝试调用这个方法时,我有一个NullPointerException。

有人能帮我吗?

EN

回答 3

Stack Overflow用户

发布于 2012-01-24 00:07:52

未检查url是否初始化为非空值。

一旦有了有效的非空URL,就可以尝试从它创建一个File对象。您可能必须检查该文件是否也是非null的(或者此方法可能被允许返回null项)。无论哪种方式,在Java中返回null项(File或其他)都是完全可以接受的。

取消引用null (在未引用任何内容的对象引用上调用方法)不是这样的。这就是为什么你会得到错误,在

代码语言:javascript
复制
url.getPath()

您只是错误地识别了它的失败之处。

票数 2
EN

Stack Overflow用户

发布于 2012-01-24 00:07:24

是的你可以。如果新的File()调用产生异常,您可能会得到一个空指针。

调试并查看Url是否不为空。

票数 1
EN

Stack Overflow用户

发布于 2012-01-24 00:40:24

这里您可能想要做的不是返回文件对象,而是返回一个BufferedReader或FileReader,或者可能是一个FileInputStream。然后,使用try/catch将所有错误处理封装在方法中,或者使用throws声明将错误冒泡起来。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8974632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档