(de)compressing files using NIO

后端 未结 2 1469
执念已碎
执念已碎 2021-01-14 12:09

In the many examples online, files are (de)compressed in java using a coded buffer. With NIO, however, there is no need to choose a good buffer size. I found examples for fi

2条回答
  •  Happy的楠姐
    2021-01-14 12:29

    You can use the static utility methods in java.nio.channels.Channels to wrap streams in channels and vice versa.

    E.g. to create a channel, from which you can read the uncompressed data from a gzip compressed file:

    FileChannel fc = 
        new RandomAccessFile("input.gz", "r").getChannel();
    
    ReadableByteChannel gzc = 
        Channels.newChannel(
                new GZIPInputStream(
                        Channels.newInputStream(fc)));
    

提交回复
热议问题