用java打成zip,但不压缩
时间: 2023-11-27 07:50:02 浏览: 153
你可以使用Java中的ZipOutputStream类来创建一个ZIP文件,但不压缩其中的内容。以下是一个示例代码:
```java
import java.io.*;
import java.util.zip.*;
public class ZipWithoutCompression {
public static void main(String[] args) {
String sourceFile = "path/to/source/file";
String zipFile = "path/to/zip/file";
try {
FileOutputStream fos = new FileOutputStream(zipFile);
ZipOutputStream zos = new ZipOutputStream(fos);
// Set the compression level to zero
zos.setLevel(0);
// Create a new ZIP entry with the source file name
ZipEntry ze = new ZipEntry(new File(sourceFile).getName());
// Add the ZIP entry to the ZIP output stream
zos.putNextEntry(ze);
// Read the source file and write its contents to the ZIP output stream
FileInputStream fis = new FileInputStream(sourceFile);
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
// Close the input and output streams
fis.close();
zos.closeEntry();
zos.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们将压缩级别设置为0,这意味着内容不会被压缩。然后我们创建一个新的ZIP条目并将其添加到ZIP输出流中。最后,我们将源文件的内容读取并写入ZIP输出流中,然后关闭输入和输出流。