Hadoop Learning-Test Compression-day05
Import java.io.FileInputStream
Import java.io.FileOutputStream
Import org.apache.hadoop.conf.Configuration
Import org.apache.hadoop.io.IOUtils
Import org.apache.hadoop.io.compress.CompressionOutputStream
Import org.apache.hadoop.io.compress.DeflateCodec
Import org.apache.hadoop.util.ReflectionUtils
Import org.junit.BeforeClass
Import org.junit.Test
Public class TestCompressDemo {
Private static Configuration conf
@ BeforeClass
Public static void iniConf () {
Conf = new Configuration ()
}
/ * *
* use the deflate compression algorithm
, /
@ Test
Public void compressByDeflate () throws Exception {
/ / deflate encoder
String codecStr = "org.apache.hadoop.io.compress.DeflateCodec"
Class clazz = (Class) Class.forName (codecStr)
DeflateCodec codec = ReflectionUtils.newInstance (clazz,conf)
/ / A pair of output streams are packaged to generate a new compressed stream
FileOutputStream fos = new FileOutputStream ("E:/zhaopian.deflate")
CompressionOutputStream comOut = codec.createOutputStream (fos)
/ / write stream
IOUtils.copyBytes (new FileInputStream ("E:/zhaopian.jpg"), comOut,1024)
}
/ * *
* use the deflate compression algorithm
, /
@ Test
Public void compressByDeflate2 () throws Exception {
/ / instantiate the codec object directly
DeflateCodec codec = new DeflateCodec ()
/ / check and set the conf object
ReflectionUtils.setConf (codec,conf)
/ / A pair of output streams are packaged to generate a new compressed stream
FileOutputStream fos = new FileOutputStream ("E:/zhaopian2.deflate")
CompressionOutputStream comOut = codec.createOutputStream (fos)
/ / write stream
IOUtils.copyBytes (new FileInputStream ("E:/zhaopian.jpg"), comOut, 1024)
}
}