| 

.NET C# Java Javascript Exception

1
Wie kann ich eine beliebige Datei von einer Datei in eine Datei schrittweise umkopieren. Dabei soll die Möglichkeit bestehen, Teilinformationen gesondert weiterzuverarbeiten oder Sonderfunktionen (z.B. eigene Fortschrittsanzeigen, Ver-/Entschlüsselung) in den Bearbeitungsablauf einzubinden?
11.02.2011
Grandpa 21 1
1 Antwort
2
Im nachfolgenden Beispielcode, kopieren des File in 8KB-Häppchen
Für das UI: Am besten Backgroundworker oder alternativ PInvoke

BTW: Nachfolgender Code ohne Fehlerbehandlung!
Habe gerade eben das vb in den Themen gesehen. Obwohl VB nicht meine favorisierte Sprache ist.

Imports System.IO

Module Module1
Sub Main()
Dim oldFileName As String
Dim newFileName As String
Dim hasRead As Integer
Dim fileBuffer(8192) As Byte
Dim fsIn As FileStream
Dim fsOut As FileStream

oldFileName = "G:\TEST.TXT"
newFileName = "G:\TEST_NEU.TXT"
hasRead = 0
fsIn = New FileStream(oldFileName, FileMode.Open, FileAccess.Read)
fsOut = New FileStream(newFileName, FileMode.CreateNew, FileAccess.Write)
Do
hasRead = fsIn.Read(fileBuffer, 0, fileBuffer.Length)
' hier was mit dem Puffer anstellen
fsOut.Write(fileBuffer, 0, hasRead)
Loop While hasRead = fileBuffer.Length
End Sub

End Module


// C#

string oldFileName = @"G:\TEST.TXT";
string newFileName = @"G:\TEST_NEU.TXT";

int hasRead = 0;
byte[] buffer = new byte[8192];

FileStream fsIn = new FileStream(oldFileName, FileMode.Open, FileAccess.Read);
FileStream fsOut = new FileStream(newFileName, FileMode.CreateNew, FileAccess.Write);

do
{
hasRead = fsIn.Read(buffer, 0, buffer.Length);

// Hier irgendwas mit dem Puffer anstellen

fsOut.Write(buffer, 0, hasRead);
} while (hasRead == buffer.Length);
11.02.2011
Joachim 2,8k 3 9
Joachim 2,8k 3 9

Stelle deine Vb-Frage jetzt!