我正在使用FileWrite类写入文件。而且效果很好。但是FindBugs在我的代码片段中指出了一个小问题。
代码片段:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd");
Date now = new Date();
String fileName = formatter.format(now) + ".txt";
FileWriter writer = null;
try {
File root = new File(Environment.getExternalStorageDirectory(), "Test");
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, fileName);
writer = new FileWriter(gpxfile, true);
writer.append(text + "\n\n");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Findbug报告:
OBL_未满足_义务:方法可能无法清理流,或者资源WriteDataFile(字符串)可能无法清理java。伊奥。已检查异常的写入程序
我在哪一行遇到这个错误?
writer = new FileWriter(gpxfile, true);
有人能告诉我这到底是什么吗?我们如何解决这个问题?
您收到此错误是因为writer.flush();
。这可能导致IOException,因为它将任何缓冲的输出写入底层流。如果发生异常,写入器将不会关闭。
如果最后必须刷新{...}
,则对每一行使用专用尝试{...}捕获{...}
,如下所示:
finally {
if (writer != null) {
try {
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我正在使用Spring JDBCTemboard访问数据库中的数据,它工作正常。但是FindBugs在我的代码片段中指出了一个小问题。 代码: FindBugs问题: 方法可能无法清理流或资源的检查异常在这一行 有人能告诉我这到底是什么吗?我们如何解决这个问题? 我们将不胜感激:)
它显示了这个特定声明的问题。你能帮帮我吗?
问题内容: 我在理解Java 和异常之间的区别时遇到了一些问题。 首先,异常应该在编译时寻找异常。在不同来源中提供的示例引用了数据库连接性,其中一些是文件处理,而异常应该是在程序员方面寻找错误,例如索引超出数组范围等。 不应该反过来吗?我的意思是,数据库连接是在运行时完成的,对吧?文件处理也是如此。您没有在编译时打开文件句柄,那么为什么在编译时会寻找一个可能的错误呢?另一方面,超出数组范围的索引已
问题内容: 我在Java中有这个工厂方法: 我想将两个已检查的异常转换为未检查的异常。最好的方法是什么? 我是否应该仅捕获异常并使用捕获的异常作为内部异常抛出新的RuntimeException? 有没有更好的方法可以做到这一点?或者我应该首先尝试这样做吗? 编辑: 只是为了澄清。这些异常将是致命的,因为配置文件实质上是程序的运行,所有异常都将在程序的顶层捕获并记录。 我的目的是避免不必要的引发异
问题内容: 据我了解,如果不逐一查找API文档,就无法找出方法抛出的异常。 由于这是没有选择的,因此我想撤消研究,并询问您在处理时遇到的最常见的Exception和RuntimeException: 铸件 数组 向量,ArrayList,HashMap等 IO(文件类,流,过滤器…) 对象序列化 线程(wait(),sleep()等) 或任何其他被视为“基本Java”的内容 我意识到这可能是主观的
我代码中的以下语句被SonarQube标记为一个关键问题。stmt=conn.createStatement(); 确切的问题是,“方法可能无法清理java.sql.检查异常的语句”。 下面是代码片段: SonarQube给出的规则如下: 方法可能无法在检查异常时清理流或资源此方法可能无法清理(关闭、处置)需要显式清理操作的流、数据库对象或其他资源。一般情况下,如果一个方法打开一个流或其他资源,该