如何用FileStream或StreamReader或StreamWriter修改文本文件?

mfm80629 2003-10-15 11:39:36
就是类似ini文件之类的
aaa=bbb
,根据aaa把aaa的值修改成ccc
最好有源码!
...全文
386 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixigongzhu 2003-10-30
  • 打赏
  • 举报
回复
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
mfm80629 2003-10-30
  • 打赏
  • 举报
回复
Tangyongkang(匆匆) :说得到非常轻松嘛!

T2(無藥可救) :你提供的是FileStream或StreamReader或StreamWriter基本操作的代码。
T2 2003-10-30
  • 打赏
  • 举报
回复
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
Tangyongkang 2003-10-30
  • 打赏
  • 举报
回复
把文件读到数组,然后再写一次不久搞定?!!
mfm80629 2003-10-15
  • 打赏
  • 举报
回复
可不可以实现阿?有没有人知道啊?

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧