All Downloads are FREE. Search and download functionalities are using the official Maven repository.

lambdify.mojo.ZipFileReader Maven / Gradle / Ivy

The newest version!
package lambdify.mojo;

import java.io.*;
import java.util.Enumeration;
import java.util.function.BiConsumer;
import java.util.zip.*;
import org.apache.maven.plugin.MojoExecutionException;

public class ZipFileReader implements AutoCloseable {

	static final String MESSAGE_CANT_OPEN_ZIP = "Can't open zip file";
	final ZipFile zip;

	public ZipFileReader( final String zipFileName ) throws IOException {
		try {
			zip = new ZipFile( zipFileName );
		} catch ( final IOException e ) {
			throw new IOException( MESSAGE_CANT_OPEN_ZIP, e );
		}
	}

	public void read( final BiConsumer listener ) throws IOException {
		final Enumeration entries = zip.entries();
		while ( entries.hasMoreElements() ) {
			final ZipEntry entry = entries.nextElement();
			final InputStream inputStream = zip.getInputStream( entry );
			listener.accept( entry.getName(), inputStream );
		}
	}

	public void close() throws IOException {
		try {
			zip.close();
		} catch ( final IOException e ) {
			throw new IOException( MESSAGE_CANT_OPEN_ZIP, e );
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy