VB实验报告(实验10)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子信息工程学系实验报告
课程名称:面向对象程序设计
实验项目名称:实验10 文件 实验时间2011-12-12
班级: 姓名: 学号:
实 验 目 的:
1)、理解System.IO 对象模型。
2)、熟练掌握使用File 和Directory 对象操作文件的方法。
3)、熟练掌握DriveListBox 和StreamWriter 对象读写文本文件的方法。
4)、理解流的概念。
5)、掌握使用StreamReader 和StreamWriter 对象读写文本文件的方法。
实 验 环 境:
Windows XP
Visual 2003
实 验 内 容 及 过 程:
查找并替换文本文件的内容
1、 新建一个“VisualBasic 项目”
2、 界面设计
由一个显示选择的文件的文本框(txtFileName )、一
个查找内容的文本框(txtFindText )、一个替换内
容的文本框(txtReplaceText )、一个显示打开的文件内容
的多行文本框(txtContent )、三个标签(Label )和两个按
钮(btnSelFile 、btnReplace )组成。还要再添加一个
OpenFileDialog 控件。界面安排如图T10-1。
3、 编写程序代码
引入System.IO 名称空间。
单击“选择文件”按钮的事件代码: 图T10-1 界面设计
Private Sub btnSelFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnSelFile.Click
OpenFileDialog1.InitialDirectory = "c:\"
OpenFileDialog1.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.RestoreDirectory = True
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
txtFileName.Text = OpenFileDialog1.FileName
End If
If txtFileName.Text <> "" Then
readfile(txtFileName.Text, txtContent)
End If
单击“替换”按钮的事件代码:
Private Sub bntReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles bntReplace.Click
If txtFindText.Text = "" Then
MsgBox("请输入查找字符串", MsgBoxStyle.Critical)
End If
Try
Dim fs As New FileStream(txtFileName.Text, FileMode.Open)
Dim sr As New StreamReader(fs)
Dim tempstr As String
tempstr = Path.GetTempFileName
Dim sw As New StreamWriter(tempstr)
Dim s As String
Do
s = sr.ReadLine
If s <> Nothing Then
s = s.Replace(txtFindText.Text, txtReplaceText.Text)
sw.WriteLine(s)
Else
Exit Do
End If
Loop While s <> Nothing
sw.Close()
sr.Close()
fs.Close()
File.Delete(txtFileName.Text)
File.Move(tempstr, txtFileName.Text)
If txtFileName.Text <> "" Then
readfile(txtFileName.Text, txtContent)
End If
MsgBox("替换完成。", rmation)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
显示文本文件内容的通用过程“readFile”代码:
Private Sub readfile(ByVal filename As String, ByVal txtobj As TextBox)
Dim s As String
Dim fs As FileStream
fs = New FileStream(filename, FileMode.Open, FileAccess.Read)
Dim sr As StreamReader
sr = New StreamReader(fs)
txtobj.Text = sr.ReadToEnd
sr.Close()
fs.Close()