MES_K Geschrieben 16. Februar 2006 Teilen Geschrieben 16. Februar 2006 guten morgen... Ich hab einen Kopiervorgang, der länger dauert ( ca. 300 MB auf USB ). Daher habe ich mir vorgestellt, einen progress zu machen. leider weis ich nicht wie ich das am dümmsten anstellen soll. Eine überlegung von mir war vielleicht ob die File.copy funktion einen parameter hat, um eine progressbar zu steuern, aber ich habe nichts in diese richtung gefunden. Wäre nett, wenn mir jemand weiterhelfen könnte. Danke, MES Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 16. Februar 2006 Teilen Geschrieben 16. Februar 2006 File.copy hat keinen derartigen Parameter. Wenn Du eine Fortschrittsanzeige willst, musst Du Dir eine eigene Funktion schreiben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Trux Geschrieben 16. Februar 2006 Teilen Geschrieben 16. Februar 2006 Am einfachsten ist es das du die größe des file's einliest und dann in Byte-Packete stückelst und dann Packet für Packet schreibst. Dann kannst du auch auf einfache weise eine Status-Bar mitlaufen lassen 300 MB aufeinmal einlesen in das IO.File-Object sollte wohl recht speicher-lastig sein oder seh ich das falsch :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MES_K Geschrieben 17. Februar 2006 Autor Teilen Geschrieben 17. Februar 2006 wie meinst du das mit dem stückeln? das hab ich jetzt noch nicht ganz kapiert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Trux Geschrieben 17. Februar 2006 Teilen Geschrieben 17. Februar 2006 Angenommen du willst 10 MB einlesen / kopieren, dann kannst du das in 10 Packete á 1 MB Teilen, und dann auch so einlesen. 1024 * 1024 byte also 1048576 Byte. Machst du ein byte Array von der größe als buffer, und ließt die ein. FileInfo file = new FileInfo(@"C:\datei"); FileStream stream = File.Open(@"C:\datei",FileMode.Open); byte[] byBuff = new byte[1024 * 1024]; int nCounter = 0; while(stream.Read(byBuff,nCounter,byBuff.Length) { /* * Mach damit was du willst * * */ nCounter += byBuff.Length; } Irgendwie so denke ich Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.