上面的第二部分贴错了,是这个
'读取字节流生成文件。
Public Shared Function ConverBytesToFile(ByVal RootPath As String, ByVal FileName As String, ByVal FileData As Byte(), ByVal encode As Encoding) As Boolean
Dim Result As Boolean
Dim s As Integer
Dim fs As FileStream = Nothing
Dim SubPath As String
Try
'todo建目前不存在的文件夹
s = FileName.LastIndexOf("\")
If s >= 0 Then
SubPath = RootPath & IIf(RootPath.EndsWith("\"), "", "\") & FileName.Substring(0, s) & "\"
FileName = FileName.Substring(s + 1)
If Not Directory.Exists(SubPath) Then
Directory.CreateDirectory(SubPath)
End If
Else
SubPath = RootPath & IIf(RootPath.EndsWith("\"), "", "\")
End If
If Not Directory.Exists(SubPath) Then
Directory.CreateDirectory(SubPath)
End If
fs = New FileStream(SubPath & FileName, FileMode.OpenOrCreate)
'fs.Write(FileData, 0, FileData.Length)
'fs.Flush()
Dim SwFromFileStreamDefaultEnc As BinaryWriter = New BinaryWriter(fs, encode)
SwFromFileStreamDefaultEnc.Write(FileData, 0, FileData.Length)
SwFromFileStreamDefaultEnc.Flush()
SwFromFileStreamDefaultEnc.Close()
Result = True
Catch ex As Exception
Result = False
'忽略错误
Finally
If Not fs Is Nothing Then
fs.Close()
End If
End Try
Return Result
End Function
'读取文件到字节流,失败则返回Nothing
Public Shared Function ConvertFileToBytes(ByVal FileName As String, ByVal encode As System.Text.Encoding) As Byte()
Dim Result() As Byte
Dim fs As FileStream
If File.Exists(FileName) Then
Try
MsgBox(FileName + " " + encode.ToString)
fs = New FileStream(FileName, FileMode.Open)
Result = New Byte(fs.Length) {}
Dim SwFromFileStreamDefaultEnc As BinaryReader = New BinaryReader(fs, encode)
SwFromFileStreamDefaultEnc.Read(Result, 0, fs.Length)
SwFromFileStreamDefaultEnc.Close()
Catch ex As Exception
Result = Nothing
End Try
Else
Result = Nothing
End If
Return Result
End Function
'读取字节流生成文件。
Public Shared Function ConverBytesToFile(ByVal RootPath As String, ByVal FileName As String, ByVal FileData As Byte()) As Boolean
Dim Result As Boolean
Dim s As Integer
Dim fs As FileStream = Nothing
Dim SubPath As String
Try
'todo建目前不存在的文件夹
s = FileName.LastIndexOf("\")
If s >= 0 Then
SubPath = RootPath & IIf(RootPath.EndsWith("\"), "", "\") & FileName.Substring(0, s) & "\"
FileName = FileName.Substring(s + 1)
If Not Directory.Exists(SubPath) Then
Directory.CreateDirectory(SubPath)
End If
Else
SubPath = RootPath & IIf(RootPath.EndsWith("\"), "", "\")
End If
If Not Directory.Exists(SubPath) Then
Directory.CreateDirectory(SubPath)
End If
fs = New FileStream(SubPath & FileName, FileMode.OpenOrCreate)
fs.Write(FileData, 0, FileData.Length)
fs.Flush()
Result = True
Catch ex As Exception
Result = False
'忽略错误
Finally
If Not fs Is Nothing Then
fs.Close()
End If
End Try
Return Result
End Function