开发软件时一些数据的另类保存方式

我们在开发软件的时候需要保存数据或者设置参数的时候一般都是保存在数据库或者ini文件中,但是如果我们需要将这些数据保密,或者数据比较少,不想使用数据库时该怎么做呢?我这里提供一个使用结构体保存数据的方法。
结构体处理类:ClsFie.vb

Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary
Imports System.Text.RegularExpressions

Public Class ClsFile

#Region "验证文件夹"
    Public Sub CreateDirtory(ByVal tPath As String)
        Dim _Fol As String = Regex.Match(tPath, "(.*?)[\\|\/][^\\/]+$").Groups(1).Value
        If Not My.Computer.FileSystem.DirectoryExists(_Fol) Then
            My.Computer.FileSystem.CreateDirectory(_Fol)
        End If
    End Sub
#End Region
#Region "保存/读取结构体"
    Public Function SaveStruct(ByVal tCo As Object, ByVal tPath As String)
            CreateDirtory(tPath)
            Dim fs As New FileStream(tPath, FileMode.Create)
            Dim formatter As New BinaryFormatter
            Try
                formatter.Serialize(fs, tCo)
                Return True
            Catch ex As Exception
                MsgBox(ex.ToString)
                Return False
                Throw
            Finally
                fs.Close()
            End Try
    End Function
    Public Function ReadStruct(ByVal tPath As String) As Object
            Dim fs As New FileStream(tPath, FileMode.Open)
            Try
                Dim formatter As New BinaryFormatter
                Return formatter.Deserialize(fs)
                Return ReadStruct
            Catch ex As Exception
                MsgBox(ex.ToString)
                Return Nothing
                Throw
            Finally
                fs.Close()
            End Try
    End Function
#End Region

End Class

使用方式:

<Serializable()>‘标记为可序列化,**必须的,不然无法保存**
    Structure dbSce
        Public str As String '字符串
        Public list() As String '数组
        Public htable As Hashtable  
        ……
    End Structure
     Public ClsF As New ClsFile
     Public db As dbSce
     '保存数据
     db.str="123"
     ……
      ClsF.SaveStruct(db, Application.StartupPath & "\db.dat")'扩展名随便取
      '读取数据
      db= ClsF.ReadStruct(Application.StartupPath & "\db.dat")
      dim title as string = db.str
      ……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值