Zum Inhalt springen

Fortschrittsanzeige kopiervorgang - C#


MES_K

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...