Skip to content

Commit b37ab7e

Browse files
committed
optimize code
1 parent 3d7957a commit b37ab7e

File tree

3 files changed

+228
-250
lines changed

3 files changed

+228
-250
lines changed

core/src/main/java/com/robin/core/compress/util/CompressDecoder.java

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,75 +10,63 @@
1010
import org.apache.commons.compress.compressors.brotli.BrotliCompressorInputStream;
1111
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
1212
import org.apache.commons.compress.compressors.zstandard.ZstdCompressorInputStream;
13-
import org.tukaani.xz.LZMAInputStream;
1413
import org.tukaani.xz.XZInputStream;
1514
import org.xerial.snappy.SnappyInputStream;
1615

17-
import java.io.BufferedInputStream;
1816
import java.io.IOException;
1917
import java.io.InputStream;
20-
import java.util.ArrayList;
21-
import java.util.List;
2218
import java.util.zip.GZIPInputStream;
2319
import java.util.zip.ZipInputStream;
2420

2521

2622
public class CompressDecoder {
27-
private CompressDecoder(){
23+
private CompressDecoder() {
2824

2925
}
30-
public static InputStream getInputStreamByCompressType(String path, InputStream rawstream) throws IOException{
26+
27+
public static InputStream getInputStreamByCompressType(String path, InputStream rawstream) throws IOException {
3128
InputStream inputStream;
32-
FileUtils.FileContent content=FileUtils.parseFile(path);
33-
Const.CompressType type=content.getCompressType();
34-
switch (type){
29+
FileUtils.FileContent content = FileUtils.parseFile(path);
30+
Const.CompressType type = content.getCompressType();
31+
switch (type) {
3532
case COMPRESS_TYPE_GZ:
36-
inputStream=new GZIPInputStream(wrapInputStream(rawstream));
33+
inputStream = new GZIPInputStream(rawstream);
3734
break;
3835
case COMPRESS_TYPE_BZ2:
39-
inputStream=new BZip2CompressorInputStream(wrapInputStream(rawstream));
36+
inputStream = new BZip2CompressorInputStream(rawstream);
4037
break;
4138
case COMPRESS_TYPE_LZO:
4239
LzoAlgorithm algorithm = LzoAlgorithm.LZO1X;
4340
LzoDecompressor decompressor = LzoLibrary.getInstance().newDecompressor(algorithm, null);
44-
inputStream = new LzoInputStream(wrapInputStream(rawstream), decompressor);
41+
inputStream = new LzoInputStream(rawstream, decompressor);
4542
break;
4643
case COMPRESS_TYPE_SNAPPY:
47-
inputStream=new SnappyInputStream(wrapInputStream(rawstream));
44+
inputStream = new SnappyInputStream(rawstream);
4845
break;
4946
case COMPRESS_TYPE_ZIP:
50-
ZipInputStream stream1=new ZipInputStream(wrapInputStream(rawstream));
47+
ZipInputStream stream1 = new ZipInputStream(rawstream);
5148
stream1.getNextEntry();
52-
inputStream=stream1;
49+
inputStream = stream1;
5350
break;
5451
case COMPRESS_TYPE_LZ4:
55-
inputStream=new LZ4FrameInputStream(wrapInputStream(rawstream));
52+
inputStream = new LZ4FrameInputStream(rawstream);
5653
break;
5754
case COMPRESS_TYPE_LZMA:
58-
inputStream=new XZInputStream(wrapInputStream(rawstream));
55+
inputStream = new XZInputStream(rawstream);
5956
break;
6057
case COMPRESS_TYPE_ZSTD:
61-
inputStream=new ZstdCompressorInputStream(wrapInputStream(rawstream));
58+
inputStream = new ZstdCompressorInputStream(rawstream);
6259
break;
6360
case COMPRESS_TYPE_BROTLI:
64-
inputStream=new BrotliCompressorInputStream(wrapInputStream(rawstream));
61+
inputStream = new BrotliCompressorInputStream(rawstream);
6562
break;
6663
case COMPRESS_TYPE_XZ:
67-
inputStream=new XZInputStream(wrapInputStream(rawstream));
64+
inputStream = new XZInputStream(rawstream);
6865
break;
6966
default:
70-
inputStream=wrapInputStream(rawstream);
67+
inputStream = rawstream;
7168

7269
}
7370
return inputStream;
7471
}
75-
private static InputStream wrapInputStream(InputStream instream){
76-
InputStream in=null;
77-
if(instream instanceof BufferedInputStream){
78-
in=instream;
79-
}else{
80-
in=new BufferedInputStream(instream);
81-
}
82-
return in;
83-
}
8472
}

core/src/main/java/com/robin/core/compress/util/CompressEncoder.java

Lines changed: 28 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,90 +3,78 @@
33
import com.robin.core.base.util.Const;
44
import com.robin.core.base.util.FileUtils;
55
import net.jpountz.lz4.LZ4FrameOutputStream;
6-
import org.anarres.lzo.*;
7-
8-
import org.apache.commons.compress.compressors.brotli.BrotliCompressorInputStream;
6+
import org.anarres.lzo.LzoAlgorithm;
7+
import org.anarres.lzo.LzoCompressor;
8+
import org.anarres.lzo.LzoLibrary;
9+
import org.anarres.lzo.LzoOutputStream;
910
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream;
1011
import org.apache.commons.compress.compressors.xz.XZCompressorOutputStream;
1112
import org.apache.commons.compress.compressors.zstandard.ZstdCompressorOutputStream;
1213
import org.tukaani.xz.LZMA2Options;
13-
import org.tukaani.xz.LZMAOutputStream;
1414
import org.tukaani.xz.XZOutputStream;
1515
import org.xerial.snappy.SnappyOutputStream;
1616

17-
import java.io.BufferedOutputStream;
1817
import java.io.IOException;
19-
import java.io.InputStream;
2018
import java.io.OutputStream;
21-
import java.util.ArrayList;
22-
import java.util.List;
2319
import java.util.zip.GZIPOutputStream;
2420
import java.util.zip.ZipEntry;
2521
import java.util.zip.ZipOutputStream;
2622

2723

2824
public class CompressEncoder {
29-
private CompressEncoder(){
25+
private CompressEncoder() {
3026

3127
}
3228

33-
/**
34-
*wrap OutputStream with specify compress Format (Zip file can only support One file)
35-
* @param path file path
36-
* @param rawstream raw outputstream
37-
* @return wrap outputStream
38-
*/
39-
public static OutputStream getOutputStreamByCompressType(String path,OutputStream rawstream) throws IOException{
29+
/**
30+
* wrap OutputStream with specify compress Format (Zip file can only support One file)
31+
*
32+
* @param path file path
33+
* @param rawstream raw outputstream
34+
* @return wrap outputStream
35+
*/
36+
public static OutputStream getOutputStreamByCompressType(String path, OutputStream rawstream) throws IOException {
4037
OutputStream outputStream;
41-
FileUtils.FileContent content=FileUtils.parseFile(path);
42-
Const.CompressType type=content.getCompressType();
43-
switch (type){
38+
FileUtils.FileContent content = FileUtils.parseFile(path);
39+
Const.CompressType type = content.getCompressType();
40+
switch (type) {
4441
case COMPRESS_TYPE_GZ:
45-
outputStream=new GZIPOutputStream(wrapOutputStream(rawstream));
42+
outputStream = new GZIPOutputStream(rawstream);
4643
break;
4744
case COMPRESS_TYPE_BZ2:
48-
outputStream=new BZip2CompressorOutputStream(wrapOutputStream(rawstream));
45+
outputStream = new BZip2CompressorOutputStream(rawstream);
4946
break;
5047
case COMPRESS_TYPE_LZO:
5148
LzoAlgorithm algorithm = LzoAlgorithm.LZO1X;
5249
LzoCompressor compressor = LzoLibrary.getInstance().newCompressor(algorithm, null);
53-
outputStream = new LzoOutputStream(wrapOutputStream(rawstream), compressor);
50+
outputStream = new LzoOutputStream(rawstream, compressor);
5451
break;
5552
case COMPRESS_TYPE_SNAPPY:
56-
outputStream=new SnappyOutputStream(wrapOutputStream(rawstream));
53+
outputStream = new SnappyOutputStream(rawstream);
5754
break;
5855
case COMPRESS_TYPE_ZIP:
59-
ZipOutputStream stream1=new ZipOutputStream(wrapOutputStream(rawstream));
60-
stream1.putNextEntry(new ZipEntry(content.getFileName()+"."+content.getFileFormat()));
61-
outputStream=stream1;
56+
ZipOutputStream stream1 = new ZipOutputStream(rawstream);
57+
stream1.putNextEntry(new ZipEntry(content.getFileName() + "." + content.getFileFormat()));
58+
outputStream = stream1;
6259
break;
6360
case COMPRESS_TYPE_LZ4:
64-
outputStream=new LZ4FrameOutputStream(wrapOutputStream(rawstream));
61+
outputStream = new LZ4FrameOutputStream(rawstream);
6562
break;
6663
case COMPRESS_TYPE_LZMA:
67-
outputStream=new XZOutputStream(wrapOutputStream(rawstream),new LZMA2Options());
64+
outputStream = new XZOutputStream(rawstream, new LZMA2Options());
6865
break;
6966
case COMPRESS_TYPE_ZSTD:
70-
outputStream=new ZstdCompressorOutputStream(wrapOutputStream(rawstream));
67+
outputStream = new ZstdCompressorOutputStream(rawstream);
7168
break;
7269
case COMPRESS_TYPE_BROTLI:
7370
throw new IOException("BROTLI encode not support now!");
7471
case COMPRESS_TYPE_XZ:
75-
outputStream=new XZCompressorOutputStream(wrapOutputStream(rawstream));
72+
outputStream = new XZCompressorOutputStream(rawstream);
7673
break;
7774
default:
78-
outputStream=rawstream;
75+
outputStream = rawstream;
7976
}
8077

8178
return outputStream;
8279
}
83-
private static OutputStream wrapOutputStream(OutputStream outputStream){
84-
OutputStream out=null;
85-
if(outputStream instanceof BufferedOutputStream){
86-
out=outputStream;
87-
}else{
88-
out=new BufferedOutputStream(outputStream);
89-
}
90-
return out;
91-
}
9280
}

0 commit comments

Comments
 (0)