zipentry java_ZipEntry getNextEntry()

zipentry java_ZipEntry getNextEntry()ZipEntrygetNextEntry()描述(Description)java.util.zip.ZipInputStream.getNextEntry()方法读取下一个ZIP文件条目,并将流定位在条目数据的开头。声明(Declaration)以下是java.util.zip.ZipInputStream.getNextEntry()方法的声明。publicZipEntrygetNe…

zipentry java_ZipEntry getNextEntry()

ZipEntry getNextEntry()

描述 (Description)

java.util.zip.ZipInputStream.getNextEntry()方法读取下一个ZIP文件条目,并将流定位在条目数据的开头。

声明 (Declaration)

以下是java.util.zip.ZipInputStream.getNextEntry()方法的声明。public ZipEntry getNextEntry()

throws IOException

返回值 (Returns)

下一个ZIP文件条目,如果没有更多条目,则返回null。

异常 (Exceptions)ZipException – 如果发生ZIP文件错误。

IOException – 如果发生I/O错误。

先决条件

在D:》 test 》目录中创建一个文件Hello.txt,其中包含以下内容。This is an example.

例子 (Example)

以下示例显示了java.util.zip.ZipInputStream.getNextEntry()方法的用法。package com.iowiki;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Date;

import java.util.zip.Adler32;

import java.util.zip.CheckedOutputStream;

import java.util.zip.ZipEntry;

import java.util.zip.ZipInputStream;

import java.util.zip.ZipOutputStream;

public class ZipInputStreamDemo {

private static String SOURCE_FILE = “D:\\test\\Hello.txt”;

private static String TARGET_FILE = “D:\\test\\Hello.zip”;

public static void main(String[] args) {

try {

createZipFile();

readZipFile();

} catch(IOException ioe) {

System.out.println(“IOException : ” + ioe);

}

}

private static void createZipFile() throws IOException{

FileOutputStream fout = new FileOutputStream(TARGET_FILE);

CheckedOutputStream checksum = new CheckedOutputStream(fout, new Adler32());

ZipOutputStream zout = new ZipOutputStream(checksum);

FileInputStream fin = new FileInputStream(SOURCE_FILE);

ZipEntry zipEntry = new ZipEntry(SOURCE_FILE);

zout.putNextEntry(zipEntry);

int length;

byte[] buffer = new byte[1024];

while((length = fin.read(buffer)) > 0) {

zout.write(buffer, 0, length);

}

zout.closeEntry();

fin.close();

zout.close();

}

private static void readZipFile() throws IOException{

ZipInputStream zin = new ZipInputStream(new FileInputStream(TARGET_FILE));

ZipEntry entry;

while((entry = zin.getNextEntry())!=null){

System.out.printf(“File: %s Modified on %TD %n”,

entry.getName(), new Date(entry.getTime()));

extractFile(entry, zin);

System.out.printf(“Zip file %s extracted successfully.”, SOURCE_FILE);

zin.closeEntry();

}

zin.close();

}

private static void extractFile(final ZipEntry entry, ZipInputStream is)

throws IOException {

FileOutputStream fos = null;

try {

fos = new FileOutputStream(entry.getName());

while(is.available() != 0){

fos.write(is.read());

}

} catch (IOException ioex) {

fos.close();

}

}

}

让我们编译并运行上面的程序,这将产生以下结果 -File: D:\test\Hello.txt Modified on 05/22/17

Zip file D:\test\Hello.txt extracted successfully.

今天的文章zipentry java_ZipEntry getNextEntry()分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/29874.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注