Public Function Readinifile() As String
Dim fi As New FileInfo(Application.StartupPath & ("/Test.txt"))
' open an existing file, or create a new one
If fi.Exists Then
Dim rs As StreamReader = fi.OpenText()
Return rs.ReadLine
rs.Close()
Else
...
End If
End Function
Public Function Writeinifile(ByVal lname As String) As String
Dim fi As New FileInfo(Application.StartupPath & "/Test.txt")
If fi.Exists Then
Try
fi.Delete()
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
End If
Dim sw As StreamWriter = fi.CreateText()
sw.WriteLine(lname)
sw.Flush()
sw.Close()
End Function
Imports System
Imports System.IO
Imports System.Collections
Class ReadData
Protected filename As String'文件名
Protected elements As Hashtable = new Hashtable()'键值对
Protected keys As ArrayList = new ArrayList()'关键字的集合,方便操作
Public Shared Sub Main()'测试
Dim data As ReadData = New ReadData("test.txt")
Console.WriteLine(data.Item("tt"))
data.Item(0) = "bbbbbb"
data.Save()
End Sub
Public Sub New(filename As String)'构造函数
Me.Filename = filename
Dim sr As StreamReader = new StreamReader(filename)
Dim str As String = sr.ReadLine()
Dim value As String = Nothing
Dim key As String = Nothing
while Not (str is Nothing)
Dim index As Integer = str.IndexOf("=")'取到键值对
If (index < 0)
value += str
If Not(key is Nothing)
elements.Item(key) = value
End If
Else
key = str.Substring(0, index).Trim()
value = str.Substring(index + 1).Trim()
keys.Add(key)'加入集合
elements.Add(key, value)'加入hash表
End If
str = sr.ReadLine()
End While
sr.Close()
End Sub
Default Public Property Item(key As String) As String'根据关键字取值和设置值,如果要保存到文件,请调用Save方法
Get
Return elements.Item(key)
End Get
Set
elements.Item(key) = Value
End Set
End Property
Default Public Property Item(index As Integer) As String'根据索引取值和设置值,如果要保存到文件请调用Save方法
Get
Return elements.Item(keys.Item(index))
End Get
Set
elements.Item(keys.Item(index)) = Value
End Set
End Property
Public Sub Save()'存储改变到文件
Dim sw As StreamWriter = new StreamWriter(filename)
For Each key As String In keys
sw.WriteLine(key & "=" & elements.Item(key).ToString())
Next
sw.Close()
End Sub
End Class