Zimpler: einfache Archiv Lib[.zip & .tar Archive]

    • Beta

    Es gibt 55 Antworten in diesem Thema. Der letzte Beitrag () ist von SamLeeTV.

      Zimpler: einfache Archiv Lib[.zip & .tar Archive]

      Name der Lib:
      Zimpler

      Beschreibung:
      Zimpler zippt/unzippt.
      Ab Version 1.2 wird auch das TAR Format unterstütz.

      Benutzen:
      ZIP
      Zippen:

      VB.NET-Quellcode

      1. Using Zip As New ZipFile()
      2. Zip.AddFolder("C:\..\Dateien")'Ordner hinzufügen
      3. Zip.AddFile("C:\..\ReadMe.txt")'Datei hinzufügen
      4. Zip.Save("C:\..\Test.zip")'Speichern
      5. End Using

      Unzippen:

      VB.NET-Quellcode

      1. Using Zip As Zimpler.ZipFile = Zimpler.ZipFile.FromFile("C:\..\Test.zip")'Zip öffnen
      2. Zip.ExportAll("C:\..\Musik")'Alles exportieren
      3. Zip.Export(0,"C:\..\ReadMe.txt")'Datei "0" der Zipp speichern
      4. End Using

      Infos lesen:

      VB.NET-Quellcode

      1. Using Zip As Zimpler.ZipFile = Zimpler.ZipFile.FromFile("C:\..\Test.zip")
      2. For Each item As ZipItemInfo In Zip.ItemInfos
      3. 'item.Index Index der Datei (Zum exportieren wichtig!!)
      4. 'item.Length Größe der Datei(Original, nicht gezippt)
      5. 'item.Name Name der Datei, auch mit Ordnerpfad, wie "bla/blub/text.txt"
      6. Next
      7. End Using

      TAR
      TAR ist nur ein Archiv.
      Beinhaltende Dateien werden nicht wie bei ZIP komprimiert.
      Es wird meist in Linux verwendet.
      Die Dateiendung ist:.tar
      Meist wird das Archiv noch mit gzip komprimiert (.tar.gz)

      VB.NET-Quellcode

      1. 'Using bzw Dispose ist notwendig, sonst wird Datei zerschossen!!!
      2. Using TarArchiv As New Zimpler.TAR.TAR("C:\...\archiv.tar")
      3. TarArchiv.AddFile("C:\...\code.vb") 'Datei hinzufügen
      4. TarArchiv.AddFolder("C:\...\Bla") 'Ordner hinzufügen
      5. TarArchiv.ExportAll("C:\...\Ziel") 'Komplette Tar in einen Ordner exportieren
      6. For Each info As Zimpler.TAR.TARItemInfo In TarArchiv.ItemInfos 'Infos der Dateien
      7. info.Index 'index der Datei
      8. info.Length 'Größe in Bytes
      9. info.Name 'Name wie: ReadMe.txt oder Bilder/Sonne.png
      10. info.Export("C:\...\Ziel") 'Exportiert die Datei in den Ordner
      11. 'Alternative:TarArchiv.Export(index)
      12. Next
      13. End Using

      Todo
      • Passwörter
      • virtuelle Ordnerstruktur


      Verwendete Programmiersprache und IDE:
      Visual Basic .NET (IDE: VB 2010 Express)

      Systemanforderungen:
      .NET Framework 2.0

      Aktuelle Version:
      1.2.7

      ChangeLog:
      Spoiler anzeigen

      1.2.8
      • Fix-> manche Zips konnten nicht geöffnet werden

      1.2.6
      • Fix -> Umlaute und UTF-8 Zeichen beim (un-)zippen.

      1.2.5
      • Fix-> Dateien werden nach dem Zippen(.Save()) geschlossen
      1.2.4
      • Fix-> Fehler beim Exportieren bei Dateien mit Umlauten
      1.2.3
      • Fix-> Manche Dateien konnten nicht exportiert werden
      1.2.1
      • Zippen wieder möglich
      1.2
      • Tar Archiv wird nun unterstützt

      1.0:
      • Un/Zippen von Ordner und Dateien



      Lizenz/Weitergabe:

      Freeware
      Namensnennung: Nett, nicht nötig.
      Einkompilierung: Erlaubt
      Dateien
      • Zimpler.zip

        (7,72 kB, 352 mal heruntergeladen, zuletzt: )
      • Zimpler 1.2.zip

        (10,42 kB, 265 mal heruntergeladen, zuletzt: )
      • Zimper 1.2.1.zip

        (10,6 kB, 255 mal heruntergeladen, zuletzt: )
      • Zimpler 1.2.3.zip

        (11,22 kB, 228 mal heruntergeladen, zuletzt: )
      • Zimpler 1.2.4.zip

        (11,25 kB, 266 mal heruntergeladen, zuletzt: )
      • Zimpler 1.2.5.zip

        (11,29 kB, 320 mal heruntergeladen, zuletzt: )
      • Zimpler 1.2.6.zip

        (11,58 kB, 246 mal heruntergeladen, zuletzt: )
      • Zimpler 1.2.7.zip

        (11,96 kB, 344 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 14 mal editiert, zuletzt von „UFO“ ()

      Wie wärs mit ordner in der zip hinzufügen und dann dahin items hinzufügen können?
      Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
      "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
      "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
      Ich würde ZipFile() nicht als IDisposable darstellen. (Using)
      Find ich ohne irgendwie passender ;)

      Ansonsten sieht es schon mal übersichtlich und simpel aus.
      Wie sieht es mit Passwörtern aus?

      Ich werde es morgen Alles mal testen.
      Liebe Grüße
      /nicht getestet
      @Glossy Cherry

      Ich verstehe dich nicht genau.
      Meist du vielleicht "virtuelle" Ordner? zB:

      VB.NET-Quellcode

      1. Ordner = Zip.AddVirtualFolder("virtueller_Ordner")
      2. Ordner.AddFile("C:\..\Datei.txt")

      So in der Art?

      @rotherford
      IDisposable: Beim lesen der Datei macht es auf jeden Fall Sinn, da ein FileStream offen bleibt.
      Passwörter sind noch nicht implermentiert, kann ich aber mal auf die Todolist nehmen.
      genau.
      Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
      "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
      "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
      okay sieht interessant aus,
      aber wie sieht es mit mehreren files aus, funktioniert das ?
      sowie wie das man ein passwort hinzufügen kann,
      und die kompressionsart/stärke einstellen kann.

      werde die lib nachher mal testen, ist sicherlich praktisch

      gruß
      Du kanst mehre Dateien mit .AddFile in die Zip hinzufügen.
      Die Passwörter stehn schon auf meiner Todo Liste, wird aber etwas dauern.
      Intern unterstütz die Lib zwei "kompressionsarten":Keine Kompression und Deflate.
      In der aktuellen Version wird aber nur mit Deflate gearbeitet. Da ich mit dem IO.Compression.DeflateStream
      arbeite, ist es mir nicht möglich die stärke einzustellen. Ich müsste den Algorithmus nachbauen, was ich vielleicht einmal tun werde.
      Hallo,

      bekomme mit der Version 1.2 folgende Meldung :( bei Zip.AddFile:

      OverflowExeption wurde nicht behandelt.
      Die arithmetische operation hat einen Überlauf verursacht.

      Hier mein Code:

      VB.NET-Quellcode

      1. Imports zimpler
      2. Public Class Form1
      3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      4. Using Zip As New zipfile()
      5. 'Zip.AddFolder("C:\work", False)
      6. Zip.AddFile("C:\work\fu.vec")
      7. Zip.Save("C:\work\Test.zip")
      8. End Using
      9. MessageBox.Show("")
      10. End Sub
      11. End Class


      Bei 1.0 Klappt es wunder bar. :D

      Gruß

      DDickehuth
      Hallo,

      habe noch ein Problem.

      wenn ich das Programm auf meine Zip Datein anwende erhalte ich nur 0KB Große Datein als ergebnis.

      Hier eine Datei wo dieses der Fall ist.
      dickehuth.de/download/Test--_34494-210_36L.zip

      VB.NET-Quellcode

      1. rivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      2. Using Zip As Zimpler.ZipFile = Zimpler.ZipFile.FromFile("C:\vevwork\Test--_34494-210_36L.zip") 'Zip öffnen
      3. Zip.ExportAll("C:\vevwork") 'Alles exportieren
      4. 'Zip.Export(0, "C:\..\ReadMe.txt") 'Datei "0" der Zipp speichern
      5. End Using
      6. End Sub


      Vieleicht kann mir ja jemand helfen. :?:

      Gruß

      DDickehuth
      Hallo,

      funktionier super. 8-)

      Herzlichen Dank für den erstklassigen suport. :D

      Gruß

      DDickehuth
      Hallo,

      habe schon wieder ein Problem. :)

      Bekomme beim Unzip folgenden Fehlermeldung bei zip.ExportAll:

      Argument Exception wurde nicht behandelt.
      Illegales Zeichen im Pfad.

      Die Meldung Kommt mit folgender Datei:
      dickehuth.de/download/Rüdige_46181-1_43L.zip

      Ich nehme an es leigt an den Umlauten.

      Gruß

      DDickehuth

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DDickehuth“ ()

      Hallo,

      habe ein Kleises Probelem.

      Nach dem verzippen eines Ordners, möchte ich diesen Umbennen mit:

      Quellcode

      1. My.Computer.FileSystem.RenameDirectory("C:\temp", "erl_temp")

      erhalte dabei aber die Fehlermeldung:


      IOException wurde nicht behandelt.
      Der Zugriff auf den Pfad "C:\temp" wurde verweigert.


      Herzlichen Dank für alle Hilfe schon mal im Vorraus.


      Gruß
      DDickehuth
      Programm mit Adminrechten starten.
      „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

      -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.