Hey habe volgendes Problem ich habe mir einen Code Ausm minternet geuscht der mir eine Datei zerlegen soll und anschliesend wieder zusammen bauen soll
das ganze natürlich mit unterschiedlichen dateien und die beiden befehle getrent.
das problem ist nur das der code bei split die datei zerlegt aber nciht einen einizgen byte in einer der teil dateien ablegt.
könnt ihr mir da helfen?
das ganze natürlich mit unterschiedlichen dateien und die beiden befehle getrent.
das problem ist nur das der code bei split die datei zerlegt aber nciht einen einizgen byte in einer der teil dateien ablegt.
könnt ihr mir da helfen?
VB.NET-Quellcode
- Imports System.IO
- Public Class WAG_SplitAndMerge
- Public Shared Function SplitFile(ByVal SourceFile As String, ByVal nNoofFiles As Integer) As Boolean
- Dim Split As Boolean = False
- Try
- Dim fs As FileStream = New FileStream(SourceFile, FileMode.Open, FileAccess.Read)
- Dim SizeofEachFile As Integer = CType(Math.Ceiling((CType(fs.Length, Double) / nNoofFiles)), Integer)
- Dim i As Integer = 0
- Do While (i <= nNoofFiles)
- Dim baseFileName As String = Path.GetFileNameWithoutExtension(SourceFile)
- Dim Extension As String = Path.GetExtension(SourceFile)
- Dim outputFile As FileStream = New FileStream((Path.GetDirectoryName(SourceFile) + ("\" _
- + (baseFileName + ("." _
- + (i.ToString.PadLeft(5, Convert.ToChar("0")) _
- + (Extension + ".tmp")))))), FileMode.Create, FileAccess.Write)
- Dim bytesRead As Integer = 0
- Dim buffer() As Byte = New Byte((SizeofEachFile) - 1) {}
- If (fs.Read(buffer, 0, SizeofEachFile) > 0) Then
- outputFile.Write(buffer, 0, bytesRead)
- End If
- outputFile.Close()
- i = (i + 1)
- Loop
- fs.Close()
- Catch Ex As Exception
- MsgBox(Ex.Message)
- End Try
- Return Split
- End Function
- Public Shared Function MergeFile(ByVal InputFileFolder As String) As Boolean
- Dim Output As Boolean = False
- Try
- Dim tmpfiles() As String = Directory.GetFiles(InputFileFolder, "*.tmp")
- Dim outPutFile As FileStream = Nothing
- Dim PrevFileName As String = ""
- For Each tempFile As String In tmpfiles
- Dim fileName As String = Path.GetFileNameWithoutExtension(tempFile)
- Dim baseFileName As String = fileName.Substring(0, fileName.IndexOf(Convert.ToChar(".")))
- Dim extension As String = Path.GetExtension(fileName)
- If Not PrevFileName.Equals(baseFileName) Then
- If (Not (outPutFile) Is Nothing) Then
- outPutFile.Flush()
- outPutFile.Close()
- End If
- outPutFile = New FileStream((InputFileFolder + ("\" _
- + (baseFileName + extension))), FileMode.OpenOrCreate, FileAccess.Write)
- End If
- Dim bytesRead As Integer = 0
- Dim buffer() As Byte = New Byte((1024) - 1) {}
- Dim inputTempFile As FileStream = New FileStream(tempFile, FileMode.OpenOrCreate, FileAccess.Read)
- While (inputTempFile.Read(buffer, 0, 1024) > 0)
- outPutFile.Write(buffer, 0, bytesRead)
- End While
- inputTempFile.Close()
- File.Delete(tempFile)
- PrevFileName = baseFileName
- Next
- outPutFile.Close()
- Catch Ex As Exception
- End Try
- Return Output
- End Function
- End Class