Feedback

VB - Datei Paketweise Kopieren

Veröffentlicht von am 26.06.2006
(1 Bewertungen)
Diese Funktion kopiert eine Datei Paketweise. So funktionieren zwar alle Kopieralgorithmen nur hat man hier die möglichkeit die Paketgröße selber zu bestimmen und man könnte mit ein paar Modifizierungen (z.B. Progressbar) den Koperstatus anzeigen lassen, was bei einer Normalen integrierten Kopierfunktion nicht der Fall ist. Ich habe die Paketgröße standardgemäß auf 50 KB gesetzt weil diese größe sich am besten geeignet hat. Wählt man eine zu große oder zu kleine Paketgröße dann dauert der Kopiervorgang länger.
GFU-Schulungen  [Anzeige]

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

Imports System.IO

Public Function CopyFile(ByVal Source As String, ByVal Target As String, Optional ByVal BufferSize As Long = 51200) As Boolean
    Try
        Dim SourceFileStream As New FileStream(Source, FileMode.Open)
        Dim TargetFileStream As New FileStream(Target, FileMode.Create)

        Dim Data(BufferSize) As Byte
        Dim Buffer As Long = 0
        Dim BufferCount As Long = 0
        Dim FileSize As Long = SourceFileStream.Length

        Do
            If BufferCount >= FileSize - BufferSize Then
                ReDim Data(FileSize - BufferCount)
                Buffer = SourceFileStream.Read(Data, 0, FileSize - BufferCount)
                TargetFileStream.Write(Data, 0, Buffer)
                Exit Do
            End If

            Buffer = SourceFileStream.Read(Data, 0, BufferSize)
            TargetFileStream.Write(Data, 0, BufferSize)
            BufferCount += Buffer
        Loop
        SourceFileStream.Close()
        TargetFileStream.Close()
    Catch
        Return False
    End Try
End Function
Abgelegt unter Kopieren, Datei, Paket.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!