+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

conversione file in zip

  1. #1
    perla0279 non è in linea Scolaretto
    Ciao

    dovrei fae una compressione di un file .txt in un file .zip

    Uso Visual studio 2005, con VB

    Navigando ho trovato delle soluzioni, ma la maggior parte mi diceva di importare classi o librerie..... (oltre che gli aricoli non erano molto chiari)
    Non c'è niente di nativo in .net per fare questa conversione.........

    Come mi suggerite di procedere?

  2. #2
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    ℹ️ Leggi di più su bumm ...

  3. #3
    perla0279 non è in linea Scolaretto
    alla fine ho deciso di usare questa classe
    SharpZipLib

    ho scitto questo codice

    'Definisce la classe del controllo di CRC
    Dim Crc As SharpZipLib.Checksums.Crc32 = New SharpZipLib.Checksums.Crc32

    'Definisce lo stream di output dove scrivere l'archivio zip

    Dim zippa As SharpZipLib.Zip.ZipOutputStream = _
    New SharpZipLib.Zip.ZipOutputStream(System.IO.File.Cre ate("rrr.zip")) 'zippa.SetLevel(9)

    'Dim ZIPPA As ICSharpCode.SharpZipLib.Zip.ZipOutputStream = New ICSharpCode.SharpZipLib.Zip.ZipOutputStream(File.C reate("\\prova\prova1\prova2\prov3a\rrr.zip")



    'Definisce lla variabile che contiene il file che vogliamo zippare
    Dim f As String = "\\prova\prova1\prova2\prov3a\rrr.txt"
    'Definisce una variabile che contiene lo stream del file di origine
    Dim fileaperto As FileStream = System.IO.File.OpenRead(f)
    'Definisce una variabile di tipo byte della grandezza pari alla lunghezza del file originale
    Dim contenitore() As Byte = New Byte(CInt(fileaperto.Length)) {}
    'Questa variabile è molto importante perchè definisce una nuova entry nel file dell'archivio ZIP
    Dim z As SharpZipLib.Zip.ZipEntry = New SharpZipLib.Zip.ZipEntry(f)




    'Mette il contenuto dello stream in un contenitore di byte
    fileaperto.Read(contenitore, 0, contenitore.Length)
    'Imposta la data di compressione.
    z.DateTime = DateTime.Now
    'Imposta la dimensione del file originale
    z.Size = fileaperto.Length + 1
    'Chiude la variabile che contiene il lo stream del file originale
    fileaperto.Close()
    'Azzera la checksum
    Crc.Reset()
    'Imposta un nuovo valore per la checksum che dipende dai byte del file originale
    Crc.Update(contenitore)
    'Imposta il valore della CRC nella compressione
    z.Crc = Crc.Value
    'Inserisce nell?archivio ZIP una nuova entry
    zippa.PutNextEntry(z)
    'Effettua di fatto la compressione del file scrivendo nella nuova entry create al passo precedente il file comrpesso.
    zippa.Write(contenitore, 0, contenitore.Length)
    'Chiude lo stream del file di output e lo svuota dopo aver fisicamente salvato nel file ZIP i risultato della compressione.
    zippa.Finish()
    'Rilascia la variabile.
    zippa.Close()

    funziona l'unico problema è che mi ritorna un file zippato contenente le seguenti cartelle
    prova\prova1\prova2\prov3a\
    ed all'interno il file rrr.txt


    io però ho la neccesita che il file zippato non contenga nessuna sotto cartella ma solo il mio file .txt..........
    come posso fare per fare in modo che estragga solo quello ???? e non tutte le sotto cartelle indicate nel percorso ???

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Conversione file access
    Da Bordignon66 nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 07-10-2020, 13:09
  2. Conversione file da ANSI a UTF-8
    Da gl_malinverni nel forum C/C++
    Risposte: 2
    Ultimo Post: 24-11-2016, 20:42
  3. Conversione file csv in xls
    Da Carmen nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 06-02-2016, 09:25
  4. Conversione file per mac...
    Da maso989 nel forum Microsoft Excel
    Risposte: 1
    Ultimo Post: 06-09-2013, 12:36
  5. Conversione file da mdb a dat
    Da eugenio nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 04-09-2006, 16:27