示例#1
0
        public bool ZipExtraer(string archivo, string directorioDestino)
        {
            Dialogo dlg = new Dialogo();

            if (archivo?.Length == 0)
            {
                archivo = dlg.DlgSeleccionarArchivo("Seleccione archivo");
            }
            else if (!File.Exists(archivo))
            {
                return(false);
            }
            if (directorioDestino?.Length == 0)
            {
                directorioDestino = dlg.DlgSeleccionarDirectorio();
            }
            if (Directory.Exists(directorioDestino) && File.Exists(archivo))
            {
                ZipFile.ExtractToDirectory(archivo, directorioDestino);
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#2
0
        public List <string> ZipLeerArchivo(string archivoZip = "none")
        {
            Dialogo dlg = new Dialogo();

            List <string> archivos = new List <string>();
            ZipArchive    zip;

            if (archivoZip != "none" && File.Exists(archivoZip))
            {
                zip = ZipFile.OpenRead(archivoZip);
            }
            else if (archivoZip != "none" && !File.Exists(archivoZip))
            {
                return(null);
            }
            else
            {
                archivoZip = dlg.DlgSeleccionarArchivo("Seleccione un archivo");

                if (archivoZip?.Length == 0)
                {
                    return(null);
                }
                else
                {
                    zip = ZipFile.OpenRead(archivoZip);
                }
            }

            foreach (ZipArchiveEntry entry in zip.Entries)
            {
                archivos.Add(entry.FullName);
            }

            return(archivos);
        }