代码实例 |
byte[] bs="泽元".getBytes(); byte[] b_1=ZipUtil.zip(bs); bs: [-26, -77, -67, -27, -123, -125] b_1: [120, -100, 123, -74, 121, -17, -45, -42, 102, 0, 16, 25, 4, 68] 以UTF-8编码形式输出时为乱码。 |
gzip(byte[ ] bs) :byte[ ]
以GZIP方式压缩二进制数组。
代码实例 |
byte[] bs={1,2,3,4,12,123,125}; byte[] b_2=ZipUtil.gzip(bs); bs: [-26, -77, -67, -27, -123, -125] b_2: [31, -117, 8, 0, 0, 0, 0, 0, 0, 0, 123, -74, 121, -17, -45, -42, 102, 0, 96, 17, -52, 84, 6, 0, 0, 0] |
zip(String srcFile, String destFile)
以ZIP方式压缩文件。
代码实例 |
String srcFile="G:" + File.separator + "string.txt"; String destFile="G:" + File.separator + "string.zip"; ZipUtil.zip(srcFile,destFile); |
zip(File srcFile, OutputStream destStream)
以ZIP方式压缩文件并输出到指定流。
代码实例 |
File srcFile = new File("G:" + File.separator + "string.txt"); File destFile=new File("G:" + File.separator + "string.zip"); OutputStream destStream = new FileOutputStream(destFile); ZipUtil.zip(srcFile,destStream); |
zipBatch(String base, String[] srcFiles, String destFile)
将一批文件(文件夹)压缩到一个ZIP文件里,压缩后的路径以base参数为起点。
代码实例 |
String base="G:"; String f1="G:" + File.separator + "string.txt"; String f2="G:" + File.separator + "string_1.txt"; String f3="G:" + File.separator + "string_2.txt"; String[] srcFiles={f1 ,f2 ,f3 }; String destFile=File.separator + "stringAll.zip"; ZipUtil.zipBatch(base,srcFiles, destFile); |
zipBatch(String base, String[ ] srcFiles, OutputStream destStream)
将一批文件(文件夹)压缩到一个流里,压缩后的路径以base参数为起点。
代码实例 |
String base="G:"; String s1="G:" + File.separator + "string.txt"; String s2="G:" + File.separator + "string_1.txt"; String s3="G:" + File.separator + "string_2.txt"; String[] srcFiles={s1 ,s2 ,s3 }; String destFile="G:" + File.separator + "stringAll.zip"; OutputStream destStream = new FileOutputStream(destFile); ZipUtil.zipBatch(base,srcFiles, destStream); |
zipBatch(String base, File[ ] srcFiles, OutputStream destStream)
将一批文件(文件夹)压缩到一个指定输出流里,压缩后的路径以base参数为起点。
代码实例 |
String base="G:"; String s1="G:" + File.separator + "string.txt"; String s2="G:" + File.separator + "string_1.txt"; String s3="G:" + File.separator + "string_2.txt"; File f1=new File(s1); File f2=new File(s2); File f3=new File(s3); File[] srcFiles={f1 ,f2 ,f3 }; String destFile="G:" + File.separator + "stringAll.zip"; OutputStream destStream = new FileOutputStream(destFile); ZipUtil.zipBatch(base,srcFiles, destStream); |
zipBatch(String[ ] srcFiles, String destFile)
将一批文件(文件夹)压缩到一个ZIP文件里,压缩后的路径以各文件(文件夹)自身为起点。
代码实例 |
String s1="G:" + File.separator + "string.txt"; String s2="G:" + File.separator + "string_1.txt"; String s3="G:" + File.separator + "string_2.txt"; String[] srcFiles={s1 ,s2 ,s3 }; String destFile=File.separator + "stringAll.zip"; ZipUtil.zipBatch(srcFiles, destFile); |
zipBatch(String[] srcFiles, OutputStream destStream)
将一批文件压缩到一个流里,压缩后的路径以各文件(文件夹)自身为起点。
代码实例 |
String s1="G:" + File.separator + "string.txt"; String s2="G:" + File.separator + "string_1.txt"; String s3="G:" + File.separator + "string_2.txt"; String[] srcFiles={s1 ,s2 ,s3 }; String destFile="G:" + File.separator + "stringAll.zip"; OutputStream destStream = new FileOutputStream(destFile); ZipUtil.zipBatch(srcFiles, destStream); |
zipBatch(File[ ] srcFiles, OutputStream destStream)
将一批文件(文件夹)压缩到一个ZIP文件里,压缩后的路径以各文件(文件夹)自身为起点。
代码实例 |
String s1="G:" + File.separator + "string.txt"; String s2="G:" + File.separator + "string_1.txt"; String s3="G:" + File.separator + "string_2.txt"; File f1=new File(s1); File f2=new File(s2); File f3=new File(s3); File[] srcFiles={f1 ,f2 ,f3 }; String destFile="G:" + File.separator + "stringAll.zip"; OutputStream destStream = new FileOutputStream(destFile); ZipUtil.zipBatch(srcFiles, destStream); |
zipStream(InputStream is, OutputStream os, String fileName)
将InputStream以指定的文件名fileName压缩到一个OutputStream。
代码实例 |
String s1="G:" + File.separator + "string.txt"; String s2="G:" + File.separator+"string_1.zip"; File f1=new File(s1); File f2=new File(s2); InputStream srcFile=new FileInputStream(f1); OutputStream destStream = new FileOutputStream(f2); ZipUtil.zipStream(srcFile, destStream,"string_2.txt"); 说明:在G盘根目录下,会得到一个名为“string_1.zip”的压缩包,而压缩包内有一个名为“string_2.txt”的文本文件。 |
unzip(byte[ ] bs) :byte[ ]
将二进制数组解压缩。
代码实例 |
byte[] b_1= [120, -100, 123, -74, 121, -17, -45, -42, 102, 0, 16, 25, 4, 68] byte[] unb_2=ZipUtil.unzip(b_1); unb_2: [-26, -77, -67, -27, -123, -125] 以UTF-8形式输出为:泽元 |
ungzip(byte[ ] bs) :byte[ ]
GZIP解压缩。
代码实例 |
byte[] b_2= [31, -117, 8, 0, 0, 0, 0, 0, 0, 0, 123, -74, 121, -17, -45, -42, 102, 0, 96, 17, -52, 84, 6, 0, 0, 0] byte[] unb_2=ZipUtil.ungzip(b_2); unb_2: [-26, -77, -67, -27, -123, -125]; 以UTF-8形式输出为:泽元 |
unzip(String srcFileName, String destPath)
文件解压缩。
代码实例 |
String srcFileName="G:" + File.separator + "stringAll.zip"; String destPath="G:"+File.separator; ZipUtil.unzip(srcFileName, destPath); |
getFileListInZip(String zipFileName) : Mapx<String, Long>
获得ZIP文件内的文件清单,键值为文件大小。
代码实例 |
String srcFileName="G:" + File.separator + "stringAll.zip"; Mapx<String, Long> map=ZipUtil.getFileListInZip(srcFileName); map为:{string_1.txt=144, string.txt=18, string_2.txt=15} |
//
readFileInZip(String zipFileName, String fileName) :byte[ ]
读取ZIP文件,返回二进制数组。
代码实例 |
String zipFileName="G:" + File.separator + "string.zip"; String fileName="string.txt"; byte[]b= ZipUtil.readFileInZip(destFile, srcFile); b为:[97, 61, 97, 13, 10, 98, 61, 98, 13, 10, 99, 61, 99, 13, 10, 100, 61, 100] |
unzip(String srcFileName, String destPath, boolean isPath)
解压缩到指定目录 如果isPath为true:生成相对路径和目录 false:解压缩时不包含路径解压缩。
代码实例 |
String srcFileName="G:" + File.separator + "string.zip"; String destPath="G:"+File.separator; ZipUtil.unzip(srcFileName, destPath, true); |
所有评论仅代表网友意见