package test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ZipFloder {
private static int i;
public static void main(String args[]) throws IOException {
unpack();
}
private static void unpack() throws IOException {
// TODO Auto-generated method stub
String compress = "nutch-0.9.tar.gz";// zip压缩文件
String decompression = "/f1";// 解压路径
java.io.File dir = new java.io.File(decompression);
java.util.zip.ZipFile zf = new java.util.zip.ZipFile(compress);
java.util.Enumeration enumer = zf.entries();
while (enumer.hasMoreElements()) {
java.util.zip.ZipEntry ze = (java.util.zip.ZipEntry) enumer
.nextElement();
String zename = ze.getName();
zename = new String(zename);// 文件名,不支持中文.
System.out.println(zename);
if (ze.isDirectory()) {
java.io.File file = new java.io.File(dir.getAbsolutePath()
+ "/" + zename);
file.mkdirs();
} else {
java.io.File file = new java.io.File(dir.getAbsolutePath()
+ "/" + zename).getParentFile();
if (!file.exists()) {
file.mkdirs();
}
byte zeby[] = new byte[(int) ze.getSize()];
java.io.InputStream is = zf.getInputStream(ze);
is.read(zeby);
is.close();
java.io.FileOutputStream fos = new java.io.FileOutputStream(dir
.getAbsolutePath()
+ "/" + zename);
fos.write(zeby);
fos.close();
}
}
zf.close();
}
private static void pack() throws IOException {
// TODO Auto-generated method stub
String compress = "/f2";// 要压缩的目录
String decompression = "test.rar";// 压缩路径
java.util.zip.ZipOutputStream zos = new java.util.zip.ZipOutputStream(
new java.io.FileOutputStream(new java.io.File(decompression)));
compress(zos, new File(compress));
zos.close();
System.out.println("the files count: " + i);
}
public static void compress(java.util.zip.ZipOutputStream zos,
java.io.File file) throws java.io.IOException {
if (file.isFile()) {
byte by[] = new byte[(int) file.length()];
java.io.FileInputStream is = new java.io.FileInputStream(file);
is.read(by);
is.close();
java.util.zip.ZipEntry ze = new java.util.zip.ZipEntry(file
.getPath());
zos.putNextEntry(ze);
zos.write(by);
zos.closeEntry();
System.out.println(file.getName());
} else if (file.isDirectory()) {
java.io.File files[] = file.listFiles();
if (files != null)
for (File f : files) {
compress(zos, f);
i++;
}
}
}
}
分享到:
相关推荐
### SAP ME Pack and Unpack功能设置与使用指南 #### 概述 本指南旨在为用户提供关于如何在SAP Manufacturing Execution (SAP ME)系统中设置和使用Pack与Unpack功能的详细步骤。此功能主要用于处理制造过程中产品...
理解这些模板字符对于有效使用 `pack` 和 `unpack` 功能至关重要,因为它们可以帮助你在各种场景中高效地处理二进制数据。通过熟练掌握这些字符及其用法,你可以轻松地将 PHP 数据结构转换为二进制流,或者从网络...
aml-imgpack ...Pack and unpack amlogic uboot images positional arguments: file an integer for the accumulator optional arguments: -h, --help show this help message and exit --unpack
这篇教程主要讲解如何在Android系统中解包、编辑和重新打包boot.img以及recovery映像文件,这是Android内核修改的重要步骤。对于Android爱好者和开发者来说,了解这个过程可以帮助他们定制和优化系统。...
R2015a 的 Simulink Arduino 支持包中的默认 UDP 块可以传输和接收数据的标量字节。 此条目扩展了此功能,使用户能够... 依赖项: 该工具箱还提供了一个自定义工具箱“Pack and Unpack Data”,其中包含将整数数组转
在Windows的管理员模式下的命令行终端,比如cmd或者powershell中使用。 exe文件没有可视化界面UI!...CTCE8 file pack/unpack tool 0.1.0 USAGE: ctce8_cfg_tool_x64.exe [SUBCOMMAND] FLAGS: -h, --help Print
`Unpacker.unpack()` and some unpack methods now raises `OutOfData` instead of `StopIteration`. `StopIteration` is used for iterator protocol only. How to use ----------- One-shot pack & unpack ^^^^...
Defines tools for transforming a JAR file into a compressed pack200 file and transforming a packed file into a JAR file, including the pack200 and unpack200 tools. jdk.packager.services Defines the ...
jsonpack ...// And then unpack the packed var json = jsonpack . unpack ( packed ) ; 安装 jsonpack可以通过 , 或安装,也可以直接。 通过cpm: $ cpm install jsonpack 通过volo: $ volo a
the dedicated API with the application software and the unpack/pack functions for message (de)composition can be generated from information in the network databases. A sample integration demonstrates...
- Compiler information: Delphi or C++ Builder, Version, Edition, Service Pack - Environmental information: your OS and Service Pack - Description of your problem (as much information as possible to ...
- Long filenames in Windows 95/98 and Windows NT (16 and 32-bit) 捋? 圹? - Direct access to Network Neighbourhood 捋? 圹? - Supports Drag & Drop with Explorer/the Desktop etc. 捋? 圹? - Command ...
莫顿装箱/拆箱库基本有关详细信息,请参见 。...Morton64 m = new Morton64 ( 2 , 32 ); // 2 dimenstions 32 bits eachlong code = m . pack( 13 , 42 ); // pack two valueslong [] ... // should get back 13 and 42
删除 java.util.jar 包中的 pack200 和 unpack200 工具以及 Pack200 API。 368:Text Blocks (Second Preview) 文本块特性(Text Blocks)与常见的 Python"""any input"""特性一样,它支持多行字符串文字,...
rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar zxvf lichee_parrotv1.1_20161202.tar.gz rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ ...Preparing to unpack .../libencode-locale-perl_...
OVATION 算法模块提供了点格式转换功能,包括 BCDNIN、BCDNOUT、PACK16、UNPACK16、SATOSP、SPTOSA、TRANSLATOR 等,可以对过程变量进行格式转换和处理。 数学函数 OVATION 算法模块提供了多种数学函数,包括 ...
例如,可以使用`struct.pack()`将多个值打包成字节,然后用`struct.unpack()`解析这些字节。 ```python import struct # 打包一个浮点数和一个整数 packed_data = struct.pack('fd', 3.14, 42) print(packed_data)...
icmp_type, icmp_code, checksum, id, sequence = struct.unpack("bbHHh", received[20:28]) if icmp_type == ICMP_ECHO_REPLY and id == id: rtt = time.time() - start_time print(f"Reply from {host}: ...