【发布时间】:2016-07-13 15:28:43
【问题描述】:
考虑以下代码 sn -p getInputStreamForRead() 方法创建并返回一个新的输入流以供读取。
InputStream is = getInputStreamForRead(); //This method creates and returns an input stream for file read
is = getDecompressedStream(is);
由于原始文件内容已压缩并存储,因此必须在读取时解压缩。因此,下面的getDecompressedStream() 方法将提供解压缩流内容的选项
public InputStream getDecompressedStream(InputStream is) throws Exception {
return new GZIPInputStream(is);
}
有以下疑惑
-
上面的sn-p哪个是正确的
is = getDecompressedStream(is)或
InputStream newStream = getDecompressedStream(is) 再次重用
InputStream变量会导致任何问题吗?
我对流完全陌生。请帮助我了解这一点。
【问题讨论】:
-
我相信 inputstream 只是另一个对象,它将被重新分配新值。 1应该没问题。
-
你可以自己测试一下。但他们都会做同样的事情。两者都是有效选项
-
我可以假设/理解类似于类实例的流实例吗?或者流实例有什么例外?
标签: java stream inputstream