Den*_*nis 3 java resources java-7 try-with-resources
我有简单的代码:
try (FileReader file = new FileReader(messageFilePath);
BufferedReader reader = new BufferedReader(file)) {
String line;
while ((line = reader.readLine()) != null) {
////
}
}
Run Code Online (Sandbox Code Playgroud)
我想写这样的东西:
FileReader file = null;
///.....
try(file = (file == null ? new FileReader(messageFilePath) : file);
BufferedReader reader = new BufferedReader(file)) {
String line;
while ((line = reader.readLine()) != null) {
////
}
}
Run Code Online (Sandbox Code Playgroud)
它允许我重用FileReader.可能吗?如果没有,如何正确重用FileReader?我使用java 8,如果它很重要.
您始终必须定义try-with-resources块的新变量部分.这是Java 7/8中实现的当前限制.在Java 9中,他们考虑支持您原生要求的内容.
但是,您可以使用以下小技巧:
public static void main(String[] args) throws IOException {
FileReader file = null;
String messageFilePath = "";
try (FileReader reader = file = (file == null ? new FileReader(messageFilePath) : file);
BufferedReader bufReader = new BufferedReader(file)) {
String line;
while ((line = bufReader.readLine()) != null) {
////
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3288 次 |
| 最近记录: |