作者rocksan (Rocksan)
看板Visual_Basic
标题Re: [.NET] 如何读取多个文字档呢?
时间Sat Apr 22 01:10:37 2006
※ 引述《mohocho (去你的火星人)》之铭言:
: 日前写了个小小程式
: 把两个文字档中的字串抓出来做比较
: Dim str1 As StreamReader = File.OpenText("D:\1.txt")
: Dim str2 As StreamReader = File.OpenText("D:\2.txt")
: TextBox1.Text = str1.ReadToEnd()
: TextBox2.Text = str2.ReadToEnd()
: If TextBox1.Text = TextBox2.Text Then
: Label1.Text = 1
: Else
: Label1.Text = 0
: End If
: 现在我想把他扩充成读取多个但不定数量档然後跟某档比较
: 就是说把全部文字档都读进来
: 然後以其中一个为标准 剩下的每个都跟他比较
: 不过问题是我之前小小版是把档名写死在里面
: 现在要抓的档档名跟数量都不是固定
: 这样要怎麽处理呢??
=======================================
这个程式,主要的功能为将指定的资料夹中所有的文字档,全部读取进来并且
跟某个文字档比较内容,并把相同,与不相同的档名记录下来。
这是我目前的想法,说不定有更好的做法唷。
小弟也是VB.NET新手,多多互相讨论
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim stritem As String
Dim Filelist As New ArrayList
Dim Samelist As New ArrayList
Dim Difflist As New ArrayList
Dim str1 As StreamReader
Dim str2 As StreamReader
ChDir("c:\")
'改变目前的资料夹
stritem = Dir("*.txt")
'找出目前资料夹中所有副档名为txt的档案名称
Do Until stritem = ""
Filelist.Add(stritem)
'记录所有的档案路径
stritem = Dir()
' 下一个
Loop
str1 = File.OpenText("c:\01.txt")
TextBox1.Text = str1.ReadToEnd
'用来做为比较的文字档
For i As Integer = 1 To Filelist.Count - 1
str2 = File.OpenText((CStr(Filelist.Item(i))))
'读进所有的文字档,一一比较
TextBox2.Text = str2.ReadToEnd
If TextBox1.Text = TextBox2.Text Then
Samelist.Add(CStr(Filelist.Item(i)))
'记录内容相同的档名
Else
Difflist.Add(CStr(Filelist.Item(i)))
'记录内容不相同的档名
End If
Next
ListBox1.DataSource = Samelist
ListBox2.DataSource = Difflist
'在LISTBOX中显示出来
End Sub
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.94.115
1F:推 mohocho:喔喔 感谢喔 这阵子在考试 等完後来试试看:P 04/24 17:25