我在钱币开发邮件列表中找到了这个答案:http : //mail.openjdk.java.net/pipermail/coin-
dev/2009-April/001503.html
5. close方法的某些失败可以安全地忽略(例如,关闭已打开以供读取的文件)。 构造是否为此提供了条件?
不会。虽然此功能看起来很吸引人,但尚不清楚是否值得增加复杂性。实际上,这些“无害的异常”很少发生,因此,如果忽略这些异常,程序将不再健壮。如果您觉得必须忽略它们,则有一种解决方法,但这不是很漂亮:
static void copy(String src, String dest) throws IOException { boolean done = false; try (InputStream in = new FileInputStream(src)) { try(OutputStream out = new FileOutputStream(dest)) { byte[] buf = new byte[8192]; int n; while ((n = in.read(buf)) >= 0) out.write(buf, 0, n); } done = true; } catch(IOException e) { if (!done) throw e; }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)