从一本 Java 书籍中发现了以下代码public void writeFile(String fileName, String content){ File file = new File(fileName); try { try (PrintWriter output = new PrintWriter(new FileWriter(file))) { output.println(content); output.println(); output.println("End of writing"); } System.out.println("File been written successfully"); } catch (IOException ex) { ex.printStackTrace(System.out); }}上面的代码没有任何问题,我根本看不出嵌套try没有定义内部 catch 块的意义。或者这样做有什么我错过的目的吗?修改后的代码:public void writeFile(String fileName, String content){ File file = new File(fileName); try (PrintWriter output = new PrintWriter(new FileWriter(file))) { output.println(content); output.println(); output.println("End of writing"); System.out.println("File been written successfully"); } catch (IOException ex) { ex.printStackTrace(System.out); }}
1 回答
大话西游666
TA贡献1817条经验 获得超14个赞
内部 try 是 try-with-resources:
try (PrintWriter output = new PrintWriter(new FileWriter(file)))
这意味着,它管理资源 -PrintWriter
在执行此尝试中的每个语句后打开它并关闭它。外部尝试用于捕获错误。
Petter Friberg 提出的修改后的代码是等效的。
添加回答
举报
0/150
提交
取消