使用NIO的java(反)压缩文件
在许多在线示例中,文件是使用编码缓冲区在java中进行(反)压缩的。然而,对于NIO,没有必要选择好的缓冲区大小。我找到了文件和socket的示例,但是是否有用于压缩输入(例如GZIPInputStream
)的NIO通道,所以您可以使用transferFrom
而不是自己创建byte[]
缓冲区
你可以在下面搜索框中键入要查询的问题!
在许多在线示例中,文件是使用编码缓冲区在java中进行(反)压缩的。然而,对于NIO,没有必要选择好的缓冲区大小。我找到了文件和socket的示例,但是是否有用于压缩输入(例如GZIPInputStream
)的NIO通道,所以您可以使用transferFrom
而不是自己创建byte[]
缓冲区
# 1 楼答案
可以在java中使用静态实用程序方法。尼奥。频道。通道将流包装在通道中,反之亦然
例如,要创建一个通道,从中可以从gzip压缩文件中读取未压缩的数据:
# 2 楼答案
不,还没有专门的ZIP频道。。。 我认为你可以做到以下几点。使用NIO读取要缓冲的任何通道。然后检索刚刚从缓冲区读取到字节数组的字节,使用ByteArrayInputStream包装数组,并将其传递给ZIPInputStream