我正在使用FileChannel
并进行从fromFile到toFileFileInputStream
的简单文件复制。File
File
代码基本上是这样的:
source = new FileInputStream(fromFile).getChannel();
destination = new FileOutputStream(toFile, false).getChannel(); // overwrite
destination.transferFrom(source, 0, source.size());
wherefromFile
和toFile
是正确的File
对象。现在,我不想直接从复制,而是fromFile
想使用 GZIP(在 Java 库中找到)压缩其内容,然后复制到toFile
. 同样反过来,当我从 转回时toFile
,我也想解压缩它。
我想知道有没有一种简单的方法
source = new GZIPCompressInputStream(new FileInputStream(fromFile)).getChannel();
或者
source = new GZIPDecompressInputStream(new FileInputStream(fromFile)).getChannel();
并且所有其余代码保持不变。你对这个最干净的解决方案有什么建议吗?
谢谢..