Función Java ZipFile getInputStream() con ejemplos

La función getInputStream() es parte del paquete java.util.zip. La función devuelve el InputStream de un ZipEntry específico pasado como parámetro. Al cerrar el archivo Zip también se cerrarán todos los InputStream generados por esta función.
Firma de función:

public InputStream getInputStream(ZipEntry e)

Sintaxis:

zip_file.getInputStream(entry);

Parámetros: la función toma un objeto ZipEntry como parámetro.
Valor de retorno: la función devuelve un objeto InputStream para leer el contenido de la entrada ZipFile.
Excepciones:

  • La función lanza IllegalStateException si el archivo zip se ha cerrado
  • La función lanza ZipException si se ha producido un error de formato ZIP
  • La función lanza IOException si ha ocurrido un error de E/S
  • Los siguientes programas ilustran el uso de la función getInputStream()

    Ejemplo 1: Crearemos un archivo llamado zip_file y obtendremos la entrada del archivo zip usando la función getEntry() y luego obtendremos el objeto Input Stream para leer el contenido del archivo. «file.zip» es un archivo zip presente en el directorio f: .

    // Java program to demonstrate the
    // use of getInputStream() function
      
    import java.util.zip.*;
    import java.util.Enumeration;
    import java.util.*;
    import java.io.*;
      
    public class solution {
        public static void main(String args[])
        {
            try {
                // Create a Zip File
                ZipFile zip_file = new ZipFile("f:\\file.zip");
      
                // get the Zip Entry using
                // the getEntry() function
                ZipEntry entry = zip_file.getEntry("file1.cpp");
      
                // get the Input Stream
                // using the getInputStream()
                // function
                InputStream input = zip_file.getInputStream(entry);
      
                // Create a scanner object
                Scanner sc = new Scanner(input);
      
                System.out.println("Contents:");
      
                // Display the contents Zip Entry
                while (sc.hasNext()) {
                    System.out.println(sc.nextLine());
                }
      
                // Close the scanner
                sc.close();
            }
            catch (Exception e) {
                System.out.println(e.getMessage());
            }
        }
    }
    
    Producción:

    Contents:
    This is a file in ZIP file.
    

    Ejemplo 2: crearemos un archivo llamado zip_file y obtendremos la entrada del archivo zip usando la función getEntry() y luego obtendremos el objeto Input Stream para leer el contenido del archivo. «file4.cpp» no está presente en el archivo zip.

    // Java program to demonstrate the
    // use of getInputStream() function
      
    import java.util.zip.*;
    import java.util.Enumeration;
    import java.util.*;
    import java.io.*;
      
    public class solution {
        public static void main(String args[])
        {
            try {
                // Create a Zip File
                ZipFile zip_file = new ZipFile("f:\\file.zip");
      
                // get the Zip Entry using
                // the getEntry() function
                ZipEntry entry = zip_file.getEntry("file4.cpp");
      
                // Get the Input Stream
                // using the getInputStream()
                // function
                InputStream input = zip_file.getInputStream(entry);
      
                // Create a scanner object
                Scanner sc = new Scanner(input);
      
                System.out.println("Contents:");
      
                // Display the contents Zip Entry
                while (sc.hasNext()) {
                    System.out.println(sc.nextLine());
                }
      
                // Close the scanner
                sc.close();
            }
            catch (Exception e) {
                System.out.println(e.getMessage());
            }
        }
    }
    
    Producción:

    null
    

    La función arroja un error.

    Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/zip/ZipFile.html#getInputStream(java.util.zip.ZipEntry)

    Publicación traducida automáticamente

    Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *