异常如何在java中优雅地处理FileNotFoundexception
我正在尝试编写一个函数,返回一个文件输入流。它看起来像这样:
public FileInputStream getFileInputStream() {
File file;
try {
file = new File("somepath");
} catch (Exception e) {
}
FileInputStream fInputStream = new FileInputStream(file);
return fInputStream;
}
这就是我的问题——显然,在异常情况下不会创建文件。但是我需要一个file对象来实例化FileInputStream。我有点迷路了,在返回有效的FileInputStream对象的同时如何处理异常
# 1 楼答案
这就是进一步抛出异常的想法。只需将异常抛出给调用方即可
这样,调用方必须处理它。这是最干净的处理方式
备注:您应该知道实例化
File
对象永远不会引发异常。可能引发异常的是FileInputStream
的实例化# 2 楼答案
使用File.exists(),它检查您是否可以对文件执行某些操作
UPD(Java FileOutputStream Create File if not exists):
# 3 楼答案
这是我使用的代码。你可能会觉得很有趣