WinFuture-Forum.de: Komprimieren Eines Orders In Eine Zip-datei - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Komprimieren Eines Orders In Eine Zip-datei C#


#1 Mitglied ist offline   DonElTomato 

  • Gruppe: aktive Mitglieder
  • Beiträge: 311
  • Beigetreten: 04. Oktober 05
  • Reputation: 0

geschrieben 05. Mai 2006 - 09:43

Hallo,

ich habe ein kleines Problem und hoffe ihr habt vielleicht einen schnellen Rat.

Ich möchte gerne einen Kompletten Ordner mit allen Unterordnern etc in eine Zip-Datei packen.

Dazu habe ich das SharpZipLib in betracht gezogen. Allerdings kann ich dort nur einzelne Dateien hinzufügen.

Hat jemand eine Idee wie eine Rekursion auf der Basis dieser Zip-Klasse aussehen kann?

Mir fehlt da irgendwie das gewisse etwas ;-)

MFG
Don
0

Anzeige



#2 Mitglied ist offline   don.keilione 

  • Gruppe: aktive Mitglieder
  • Beiträge: 720
  • Beigetreten: 18. April 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Düsseldorf

geschrieben 05. Mai 2006 - 10:12

Ordner mit der rechten Maustaste anklicken und "Packen in bla bla*.

Falls du Winzip hast, obwohl das bei jedem Zip Proggi so ist.
Wer kein Ziel hat , darf sich nicht wundern , wenn er nicht ankommt
0

#3 Mitglied ist offline   tobiasndw 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.815
  • Beigetreten: 24. September 03
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 05. Mai 2006 - 10:19

@Memphi

Was hat die Frage: "wie kann ich ein packprogramm programmieren" mit der Antwort: "ordner mit der rechten maustaste anklicken" zu tun? :)

@DonElTomato
kannst du evtl. die ganzen Dateien in den Ordnern mit ner Schleife sammeln und dann die jeweilige Datei einzeln zum ZipArchiv hinzufügen? Hab mich damit noch nicht beschäftigt ist nur ein Gedanke
0

#4 Mitglied ist offline   DonElTomato 

  • Gruppe: aktive Mitglieder
  • Beiträge: 311
  • Beigetreten: 04. Oktober 05
  • Reputation: 0

geschrieben 05. Mai 2006 - 10:52

Das wäre möglich. Ziel ist ja eine Rekursion. Allerdings soll diese so simpel (und somit fehlerunanfälliger) wie möglich sein...
0

#5 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 05. Mai 2006 - 13:01

Wo genau ist das Problem? Eine FileList enthält File-Objekte, die entweder Dateien oder Ordner repräsentieren, und die Ordner wiederum haben ebenfalls FileLists.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#6 Mitglied ist offline   DonElTomato 

  • Gruppe: aktive Mitglieder
  • Beiträge: 311
  • Beigetreten: 04. Oktober 05
  • Reputation: 0

geschrieben 05. Mai 2006 - 13:20

Ähhm bitte?

Ich habe ehrlich gesagt keine Ahnung wie ich das machen soll. Kann mir nicht jemand erklären wie ich mit Hilfe des Sharp-Zip-Libs einen kompletten Ordner samt aller Dateien und Unterverzeichnisse (auch wenn diese leer sind) archivieren kann.

Vielelicht hat schon jemand so etwas damit gemacht?

MFG Don

Dieser Beitrag wurde von DonElTomato bearbeitet: 05. Mai 2006 - 13:46

0

#7 Mitglied ist offline   MNG 

  • Gruppe: aktive Mitglieder
  • Beiträge: 293
  • Beigetreten: 29. März 06
  • Reputation: 0

geschrieben 05. Mai 2006 - 14:06

Moin,

also, SharpZipLib sagt mir so nix, aber falls du das 2.0er Framework verwendest (und bei den Nutzer deines Programms voraussetzen kannst) kannst du das doch auch mit .Net Bordmitteln. Da gibts doch
System.IO.Compression.GZipStream

0

#8 Mitglied ist offline   DonElTomato 

  • Gruppe: aktive Mitglieder
  • Beiträge: 311
  • Beigetreten: 04. Oktober 05
  • Reputation: 0

geschrieben 05. Mai 2006 - 14:32

Beitrag anzeigenZitat (MNG: 05.05.2006, 15:06)

Moin,

also, SharpZipLib sagt mir so nix, aber falls du das 2.0er Framework verwendest (und bei den Nutzer deines Programms voraussetzen kannst) kannst du das doch auch mit .Net Bordmitteln. Da gibts doch
System.IO.Compression.GZipStream


Sorry, aber muss das .NET Framework 1.1 sein.

Das Problem ist nicht das Komprimieren sondern das erstellen eines string Arrays mit allen Dateien in einem Ordner. Sowie die Dateien der Unterordner usw usw.

Dieser Beitrag wurde von DonElTomato bearbeitet: 05. Mai 2006 - 14:34

0

#9 Mitglied ist offline   MNG 

  • Gruppe: aktive Mitglieder
  • Beiträge: 293
  • Beigetreten: 29. März 06
  • Reputation: 0

geschrieben 05. Mai 2006 - 14:42

Moin,

Zitat

Das Problem ist nicht das Komprimieren sondern das erstellen eines string Arrays mit allen Dateien in einem Ordner. Sowie die Dateien der Unterordner usw usw.


wenn's weiter nix ist:
	 System.IO.Directory.GetFiles(String folder);
	 System.IO.Directory.GetDirectories(String folder);


Insgesamt dann wohl sowas wie
public void traverseFolders(String rootFolder)
{
	   String[] subDirs = System.IO.Directory.GetDirectories(rootFolder);
	   String[] files = System.IO.Directory.GetFiles(rootFolder);
	   for(int i = 0; i < subDirs.length; i++)
	   {
			  traverseFolders(subDirs[i]);
	   }

	   for(int i = 0; i < files.length; i++)
	   {
			  //Mach irgendwas mit der Datei files[i]
	   }

}

0

#10 Mitglied ist offline   DonElTomato 

  • Gruppe: aktive Mitglieder
  • Beiträge: 311
  • Beigetreten: 04. Oktober 05
  • Reputation: 0

geschrieben 08. Mai 2006 - 08:52

Cool, genau sowas hab ich gesucht. Hab mir da ne Methode draus gemacht die alle Dateien und in einem string-Array zurück liefert. Allerdings fehlen mir da jetzt nurnoch die leeren Ordner ;-)

Dieser Beitrag wurde von DonElTomato bearbeitet: 08. Mai 2006 - 08:52

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0