如何避免关闭传递给我的方法的 InputStream,并将其包装在 Reader 流中?
2022-09-02 13:26:58
我正在创建一个接受单个作为参数的Java方法。为了方便使用基于字符的流,我将方法实现开头提供的 包装如下:InputStream
InputStream
public void doStuff(InputStream inStream) {
BufferedReader reader = new BufferedReader(new InputStreamReader(inStream));
...
}
由于()被传递给我的方法,我不想关闭它...因为我认为这应该是调用我的方法的客户端的责任(这个假设是正确的吗?但是,我确实认为我应该关闭我创建的;但是在这样做时,我相信它将自动关闭所有其他组合的流,包括.InputStream
inStream
BufferedReader
inStream
有没有人看到一种方法让我关闭我创建的,而不关闭传递给我的方法?也许有一种方法可以在我包装之前制作所提供的副本?谢谢BufferedReader
InputStreamReader
InputStream
InputStream