C# Eine Frage bezüglich SevenZip und LZMA

roker002

Commander
Registriert
Dez. 2007
Beiträge
2.107
Ich habe einen Codeausschnitt gefunden, der mir ermöglich unter der Dev Version von 7z für C# die Datei zu Zippen.

Habe lange herumgesucht, fand aber dennoch nichts:
Wie kann man mehrere Dateien in einen Container Zippen. Wie kann ich dann diese Dateien (Headers) dann herauslesen, ohne dass ich jede einzelne entpacke. Es gibt ja GUI Version des 7z. Die Dev Edition hat aber keine GUI. Oder hat man es garnicht erst bereitgestellt?

Danke


Codesnippet: Link HIER
 
Zuletzt bearbeitet:
"Ich habe einen Codeausschnitt gefunden, der mir ermöglich unter der Dev Version von 7z für C# die Datei zu Zippen."

Wäre nett wenn du diesen beifügen kannst :)

Uff gibts für das Ding keine Doku? :O

Ansonsten werde ich mich mit so umfangreichem Code erst am we beschäftigen...
 
Zuletzt bearbeitet von einem Moderator:
@roker002: Also wenn du wirklich ernsthaft programmierst oder vielleicht also Entwickler arbeitest, solltest du dir wirklich nen StackOverflow - Account zulegen. Dort ist wirklich geballte internationale Programmiererfahrung vertreten.

Wie Marguth schon richtig bemerkt hat, ist CB eher weniger für solche Fragen geeignet. Ich wollte es nur eingangs nicht so krass sagen. :D
 
@Green Mamba

Ich brauche keine Commandline API. Ich brauche eine DLL, da die Funktionalität in die SQL CLR eingebunden werden sollte. Klar, man kann alles mit eine API machen.

Ja gut, wenn ihr alle sich selbst als Inkompetent darstellt, werde ich nicht weiter nachfragen. Es ist keine Beleidigung sondern eine Feststellung anhand euer Antworten.

Trotzdem danke für die Antworten.
 
@roker002
Ich habe 7Zip selbst bereits erfolgreich auf diese Weise eingebunden. Kannst du mir mal erklären wo genau das Problem bei diesem Ansatz liegt? Wenn du Fachbegriffe verwendest, dann achte bitte darauf dass diese richtig eingesetzt werden. Ich verstehe von deinem letzten Beitrag leider nicht allzu viel.

@all
Selbstverständlich kann man auch hier Fragen zur Programmierung beantwortet bekommen. Immer dieses Schubladen-Denken. :rolleyes:
 
Zuletzt bearbeitet:
Was ich brauche.

Ich möchte gerne die 7z Bibliothek in die CLR für MS SQL einbinden. Ich arbeite mit C# und da 7z eine Development Version zum Download bereithält, dachte: "Wieso auch nicht. Kann ja dann direkt die Bibliothek binden, ohne die exe über Process aufzurufen."

Ich weiss auch, dass man mit der CMD Version auch mehrere Dateien in einem Container zippen kann. Ich habe schon versucht über mehrere Streams in den Coder zu schreiben. Leider lässt sich immer nur eine Datei zippen. CombinationStream wäre eine gute Idee, aber wie erkenne ich nachher, um welche Datei es sich handelt wenn ich wieder entpacken möchte.

Möchte jetzt keine Eigentständige Lösung hierfür implementieren. Mich würde nur interessieren, ob es überhaupt gehen würde mit der Development Version eine Zip Datei zu erstellen die mehrere Dateien im Container hat.

Danke
 
@roker002: Also jetzt verstehe ich so langsam, was du willst. Ich würde dir vorschlagen, einfach diesem Link zu folgen. Habe ich selbst schon benutzt, ist ganz einfach und die Ergebnisse zumindest bei Text (mehr hab ich noch nicht probiert) können sich sehen lassen.

@GreenMamba: Das hat nichts mit Schubladendenken zu tun. Es liegt einfach in der Natur der Sache, dass auf einer internationalen Seite mit Fokus Programmierung schneller, besser Lösungen gefunden werden können als in einem kleinen deutschen Forum, welches alle möglichen "nerdspezifischen" (Nicht falsch verstehen, bin ja selbst einer, der sich hier rumtreibt.) Themen beinhaltet. :D
 
Du musst unterscheiden zwischen dem Kompressionsalgorithmus 7zip und dem Containerformat 7zip.

Nach allem was du bisher geschildert hast, klingt es so, als würdest du bisher nur den Kompressionsalgorithmus nutzen. Bei diesem kannst du natürlich nur einen Datenstrom komprimieren: "Dateien" gibt es da nicht.

Also entweder du schreibst dir dein eigenes Containerformat bei dem du jede Datei einzeln komprimierst oder suchst weiter, ob du eine Library findest, die dir dieses auch direkt aanbietet.
 
@DHN Danke,
werde mir das ganze genauer unter der Lupe nehmen.

@Fonce,
.NET kann nur Deflate. Die dateien die vom System kommen können nicht von .NET entpackt werden. Die .NET version kann auch keinen Container. Also gibt es da kein unterschied zwischen zwei (oder mehreren) Dateien.

Danke Leute
 
Zurück
Oben