文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5. ARM 语句块
ARM(Automatic Resource Management,自动资源管理)语句块从 Java 7 开始引入,但 Groovy 并不支持。相反,Groovy 提供多种基于闭包的方法,效果相同但却合乎习惯。例如:
Path file = Paths.get("/path/to/file");
Charset charset = Charset.forName("UTF-8");
try (BufferedReader reader = Files.newBufferedReader(file, charset)) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
可以写成下面这样的代码:
new File('/path/to/file').eachLine('UTF-8') {
println it
}
或者,如果你想让它更接近于 Java 的惯用形式,可以这样写:
new File('/path/to/file').withReader('UTF-8') { reader ->
reader.eachLine {
println it
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论