Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Vb.Net] Aggiungere file\Cartella a file Zip con SharpZipLib

    Sto usando la DLL SharpZipLib e dovrei poter aggiungere file\cartelle ad un file zip esistente.
    Per la creazione del file zip vuoto uso:
    codice:
      Dim fsOut As FileStream = File.Create(PercorsoDestinazione)
                Dim zipStream As New ZipOutputStream(fsOut)
    
                zipStream.SetLevel(Compressione)      
                zipStream.IsStreamOwner = True
                zipStream.Finish()
                zipStream.Flush()
                zipStream.Close()
    Avete un esempio su come inserire file e\o cartelle in questo file zip appena creato?
    Mi servirebbero due funzioni
    Una che mi aggiunge un semplice file
    Un'altra che mi aggiunge la cartella che gli passo con relative sottocartelle e file in esse contenuti.
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    91
    Per aggiungere un file dovrebbe essere all'incirca cosi:

    In normalByte ci va l'array di byte del file da zippare. Una volta creato lo zipStream lo salvi su file. Per le directory mi sembra ci sia la propietà IsDirectory e se ricordo bene devi fare una nuova entry per ogni directory


    [/code]


    Dim fsOut As FileStream = File.Create(PercorsoDestinazione)
    Dim zipStream As New ZipOutputStream(fsOut)

    zipStream.SetLevel(Compressione)
    zipStream.IsStreamOwner = True

    Dim normalBytes AS byte()


    Dim entry As ZipEntry = new ZipEntry(zipName);
    entry.DateTime = DateTime.Now;
    zipStream.PutNextEntry(entry);
    zipStream.Write(normalBytes, 0, normalBytes.Length);
    zipStream.CloseEntry();


    zipStream.Finish()
    zipStream.Flush()
    zipStream.Close()



    [/code]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.