tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
940
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    paebels paebels ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    100
    Hallo
    ich versuche eine Datei zu packen und zu entpacken. Es harpert aber schon am packen.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    oid CVerzeichnisse::CompressFile(System::String^ path)
        {
            System::IO::FileStream^ sourceFile = System::IO::File::OpenRead(path);
            System::IO::FileStream^ destinationFile = System::IO::File::Create(path + ".gz");
            array<System::Byte>^ b = gcnew array<System::Byte>(sourceFile->Length);
            sourceFile->Read( b, 0, b->Length );
            GZipStream^ output = gcnew GZipStream(destinationFile,System::IO::Compression::CompressionMode::Compress);
            output->Write(b,0,(int)sourceFile->Length);
            // Close the files.
            sourceFile->Close();
            destinationFile->Close();
        }
    Diesre Code packt zwar und mit tricks kann ich es entpacken und die Datei geht. Ich vermute der Fehler liebt am array<byte> ich versuche damit das Orginal aus c# umzusetzen.Hier der C# Code:
    Code :
    1
    2
    3
    4
    5
    
     FileStream sourceFile = File.OpenRead(path);
            FileStream destinationFile = File.Create(path + ".gz");
     
            byte[] buffer = new byte[sourceFile.Length];
            sourceFile.Read(buffer, 0, buffer.Length);
    Kann mir da wer helfen das ich richtig Packe und nicht den Fehler eines MagicHeader zurückbekomme beim entpacken.
    MFG
    Oli
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Das ist C++/CLI ist gehört ins .NET-Forum.
    Ist verschoben.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Zitat Zitat von paebels Beitrag anzeigen
    Diesre Code packt zwar und mit tricks kann ich es entpacken und die Datei geht.
    Und was ist denn nun genau der Fehler? Das mit dem MagicHeader sagt mir nicht so viel...

    Was mir aufgefallen ist: Auch den GZipStream musst du mit Close() schließen.

    //Edit: Wenn du mit .NET 4 arbeitest, könntest du dir das Einlesen in ein Array sparen, indem du stattdessen mit der CopyTo()-Methode den Source-Stream direkt in den GZipStrem schreibst.


    Gruß
    MCoder
    Geändert von MCoder (07.11.11 um 14:36 Uhr) Grund: Hinweis auf CopyTo
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  4. #4
    paebels paebels ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    100
    Ich bekomme bei Packen keinen Fehler erst wenn ich es mit einem Packprogram entpacke 7-zip etc
     

  5. #5
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Ich kann dein Problem nicht nachvollziehen. Bei mir (MSVC 10) funktioniert das problemlos.

    Mach doch mal ein Minimalbeispiel welches man kompilieren kann.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  6. #6
    paebels paebels ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    100
    Hallo

    oben ist doch Code path einfach was einsetzten müsste dann doch in einer main so gehen.
    mfg
    oli
     

  7. #7
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zu einer guten Problembeschreibung gehört:

    - kompilierbares Minimalbeispiel
    - Compileraufruf (wenn relevant)
    - Aufruf
    - Eingabedaten (wenn relevant, wie hier)
    - erwartete Ausgabe / Resultat
    - tatsächliches Resultat

    Also, mach einfach ein Minimalbeispiel + Eingabedateien, zippe es und lade es hoch.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 06.08.11, 18:37
  2. Ordnerinhalt in Zip-Datei packen
    Von Kai008 im Forum Java Grundlagen
    Antworten: 2
    Letzter Beitrag: 07.05.09, 11:01
  3. Tar Datei Mit Vb Packen Und Entpacken
    Von Felixcate im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 22.08.06, 15:28
  4. 2 Datein in eine Datei packen
    Von MirakFH im Forum PHP
    Antworten: 4
    Letzter Beitrag: 28.08.05, 16:53
  5. HTML dynamisch in PDF-Datei packen?!
    Von diggity im Forum PHP
    Antworten: 0
    Letzter Beitrag: 29.07.05, 16:37