我需要将我的程序中的对象(此对象存储数据)保存到硬盘驱动器,以便我可以在下次程序启动时加载它
我尝试过使用序列化和xml文件输出,但我似乎无法正常工作,因为我的数据不是'字符串'对象类型。
我考虑使用文件open / put / get,但MSDN建议不要这样做,因为它比序列化效率低得多。
任何可以实现我的目标的简单加载/保存功能?
提前致谢 马丁
答案 0 :(得分:3)
我发现我需要在序列化之前将对象转换为二进制数据。
对于其他人,这是我的职能
'Imports
Imports System.IO
Imports System.Text
Imports System.Collections
Imports System.Runtime.Serialization.Formatters.Binary
Imports System.Runtime.Serialization
'Functions
Public Function Load()
If My.Computer.FileSystem.FileExists(mstrSaveFile) Then
Dim fs As Stream = New FileStream(mstrSaveFile, FileMode.Open)
Dim bf As BinaryFormatter = New BinaryFormatter()
mstrData = CType(bf.Deserialize(fs), CType(mstrData))
fs.Close()
End If
Return True
End Function
Public Function Save()
If My.Computer.FileSystem.FileExists(mstrSaveFile) = True Then
My.Computer.FileSystem.DeleteFile(mstrSaveFile)
End If
Dim fs As Stream = New FileStream(mstrSaveFile, FileMode.Create)
Dim bf As BinaryFormatter = New BinaryFormatter()
bf.Serialize(fs, mstrData)
fs.Close()
Return True
End Function