Hi,
ich habe eine Methode geschrieben welche mir eine Datei umkopiert und eine Rückmeldung gibt wie viel der Datei schon umkopiert ist.
Das ganze dauert allerdings bei releativ großen dateien (>100MB) schon ziemlich lange.
Das "On Board" Mittel System.IO.File.Move() verschiebt zwar eine Datei, allerdings ohne Rückmeldung wie viel schon verschoben wurde.
Kann man folgende Code irgendwie beschleunigen, bzw gibt es eine bessere Methode ?
mfg
ich habe eine Methode geschrieben welche mir eine Datei umkopiert und eine Rückmeldung gibt wie viel der Datei schon umkopiert ist.
Das ganze dauert allerdings bei releativ großen dateien (>100MB) schon ziemlich lange.
Das "On Board" Mittel System.IO.File.Move() verschiebt zwar eine Datei, allerdings ohne Rückmeldung wie viel schon verschoben wurde.
Kann man folgende Code irgendwie beschleunigen, bzw gibt es eine bessere Methode ?
VB.NET-Quellcode
- ProgressBar1.Maximum = 100
- ProgressBar1.Minimum = 0
- Dim Quellpfad As String = "D:\_Tmp\test.zip"
- Dim ZielPfad As String = "D:\_Tmp\Kopie.zip"Dim OrginalFileStream As New System.IO.FileStream(Quellpfad, IO.FileMode.Open)
- Dim KopieFileStream As New System.IO.FileStream(ZielPfad, IO.FileMode.Create)Dim bReader As New System.IO.BinaryReader(OrginalFileStream)
- Dim bWriter As New System.IO.BinaryWriter(KopieFileStream)For i = 0 To bReader.BaseStream.Length - 1
- bWriter.Write(bReader.ReadByte)ProgressBar1.Value = CInt((100 * i) / bReader.BaseStream.Length)
- Next
- bReader.Close()
- bWriter.Close()
mfg