我关于stackoverflow的第一个问题,我退出了;)
使用流链时,最好只关闭链中的最后一个流,因为 close() 操作应该通过链的所有流传播。
当结合 try-with-ressource 语句和流链接时,什么被认为是好的做法?
a) 在 try 语句中创建所有流:
try (InputStream processIn = p.getInputStream();
InputStreamReader inReader = new InputStreamReader(processIn);
BufferedReader input = new BufferedReader(inReader)) {
.
.
}
或者 b) 只是链的最后一个成员:
InputStream processIn = p.getInputStream();
InputStreamReader inReader = new InputStreamReader(processIn);
try (BufferedReader input = new BufferedReader(inReader)) {
.
.
}
我猜这两个版本最终都会起作用,但我假设 a) 会生成重复的 close() 调用,不是吗?