84 lines
2.2 KiB
VB.net
84 lines
2.2 KiB
VB.net
''' <summary>
|
|
''' A class that wraps a file allowing you to serialize it for transport.
|
|
''' </summary>
|
|
<Serializable()> _
|
|
Public Class WinsockFileData
|
|
|
|
#Region " Private Members "
|
|
|
|
Private _fileData() As Byte ' Stores the file data
|
|
Private _fileName As String ' Stores the file name
|
|
|
|
#End Region
|
|
|
|
#Region " Constructor "
|
|
|
|
''' <summary>
|
|
''' Initializes a new instance of the WinsockFileData class.
|
|
''' </summary>
|
|
Public Sub New()
|
|
_fileData = Nothing
|
|
_fileName = Nothing
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region " Properties "
|
|
|
|
''' <summary>
|
|
''' Gets or sets the name of the file.
|
|
''' </summary>
|
|
Public Property FileName() As String
|
|
Get
|
|
Return _fileName
|
|
End Get
|
|
Set(ByVal value As String)
|
|
_fileName = value
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Gets or sets the contents of the file.
|
|
''' </summary>
|
|
Public Property FileData() As Byte()
|
|
Get
|
|
Return _fileData
|
|
End Get
|
|
Set(ByVal value As Byte())
|
|
_fileData = value
|
|
End Set
|
|
End Property
|
|
|
|
#End Region
|
|
|
|
#Region " Methods "
|
|
|
|
''' <summary>
|
|
''' Saves the file to the specified path.
|
|
''' </summary>
|
|
''' <param name="save_path">The full path of the file to save to.</param>
|
|
''' <param name="append">Whether you want to append the data to the end of an existing file or not.</param>
|
|
Public Sub SaveFile(ByVal save_path As String, Optional ByVal append As Boolean = False)
|
|
My.Computer.FileSystem.WriteAllBytes(save_path, _fileData, append)
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Reads a file into the WinsockFileData class.
|
|
''' </summary>
|
|
''' <param name="file_path">The full path of the file you want to read.</param>
|
|
Public Function ReadFile(ByVal file_path As String) As Boolean
|
|
Dim fi As IO.FileInfo = My.Computer.FileSystem.GetFileInfo(file_path)
|
|
If fi.Exists Then
|
|
ReDim _fileData(0)
|
|
_fileName = fi.Name
|
|
_fileData = My.Computer.FileSystem.ReadAllBytes(fi.FullName)
|
|
Else
|
|
Return False
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
End Class
|