一、新建一个.NET项目
点击创建,进入项目画面
二、做画面
1、添加下方此工具
2、画面做成如下
三、添加代码
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
With OpenFileDialog1
.Filter = "文本文件|*.txt"
.FileName = ""
.Multiselect = False
End With
SaveFileDialog1.Filter = "文本文件|*.txt"
SaveFileDialog1.FileName = ""
cbRead.SelectedIndex = 0
cbWrite.SelectedIndex = 0
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim FilePath As String
If OpenFileDialog1.ShowDialog <> DialogResult.OK Then
Exit Sub
End If
FilePath = OpenFileDialog1.FileName
Label1.Text = "读取文件:" & FilePath
TextBox1.Text = ""
Select Case cbRead.SelectedIndex
Case 0
Call readText1(FilePath)
Case 1
Call readText2(FilePath)
Case 2
Call readText3(FilePath)
Case 3
Call readText4(FilePath)
Case 4
Call readText5(FilePath)
Case 5
Call readText6(FilePath)
End Select
End Sub
'记事本第一种方法读取
Private Sub readText1(ByVal filename As String)
Dim textContent As String
Dim fs As FileStream
'fs = New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read)
fs = File.Open(filename, FileMode.OpenOrCreate, FileAccess.Read)
Dim sr As New StreamReader(fs, Encoding.Default)
textContent = sr.ReadToEnd()
sr.Close()
fs.Close()
TextBox1.Text = textContent
End Sub
'记事本第二种方法读取
Private Sub readText2(ByVal filename As String)
Dim textContent As String
Dim sr As New StreamReader(filename, Encoding.Default)
textContent = sr.ReadToEnd()
sr.Close()
TextBox1.Text = textContent
End Sub
'记事本第三种方法读取
'直接使用StreamReader( 参数1:要打开的文件全路径,参数2:编码格式)
'读取方式:循环读取一行文本
Private Sub readText3(ByVal filename As String)
Dim textContent As String
Dim sr As New StreamReader(filename, Encoding.Default)
Dim ss As Integer
ss = 0
Do
textContent = sr.ReadLine()
If IsNothing(textContent) Then Exit Do
TextBox1.Text &= textContent & ControlChars.CrLf
Loop While True
sr.Close()
End Sub
'记事本第四种方法读取
' 先使用FileStream指定打开方式打开文件并读入文件流
'再使用StreamReader(参数1:文件流,参数2:编码格式)
'读取方式:将文本读入字符数组,然后将字符数组还原为字符串
Private Sub readText4(ByVal filename As String)
Dim textContent As String
Dim buffer() As Char
Dim lenRead As Long
Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read)
lenRead = fs.Length
'Dim sr As New StreamReader(fs, Encoding.Default)
Dim sr As New StreamReader(fs, Encoding.UTF8)
ReDim buffer(lenRead - 1)
sr.Read(buffer, 0, lenRead)
sr.Close()
fs.Close()
textContent = New String(buffer)
TextBox1.Text = textContent
End Sub
'记事本第五种方法读取
Private Sub readText5(ByVal filename As String)
Dim textContent As String
Dim buffer() As Char
Dim lenRead As Integer = 200
Dim readLength As Integer
Dim sr As New StreamReader(filename, Encoding.Default)
Do
ReDim buffer(lenRead - 1)
readLength = sr.Read(buffer, 0, lenRead)
If readLength <= 0 Then Exit Do
textContent = New String(buffer)
TextBox1.Text &= textContent
Loop While True
sr.Close()
End Sub
'记事本第六种方法读取
Private Sub readText6(ByVal filename As String)
Dim textContent As String
textContent = File.ReadAllText(filename, Encoding.Default)
TextBox1.Text = textContent
End Sub
'记事本第一种方法写入
Private Sub writeText1(ByVal filename As String)
Dim textContent As String = TextBox2.Text
Dim fs As FileStream
'fs = New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write)
fs = File.Open(filename, FileMode.OpenOrCreate, FileAccess.Write)
Dim sw As New StreamWriter(fs, Encoding.Default)
sw.Write(textContent)
sw.Close()
fs.Close()
End Sub
'记事本第二种方法写入
Private Sub writeText2(ByVal filename As String)
Dim textContent As String = TextBox2.Text
Dim sw As New StreamWriter(filename, False)
sw.Write(textContent)
sw.Close()
End Sub
'记事本第三种方法写入
Private Sub writeText3(ByVal filename As String)
Dim textContent As String = TextBox2.Text
Dim sw As New StreamWriter(filename, False)
Dim arrTextContent() As String = textContent.Split(ControlChars.CrLf)
For i As Integer = 0 To arrTextContent.Length - 1
sw.WriteLine(arrTextContent(i))
Next
sw.Close()
End Sub
'记事本第四种方法写入
Private Sub writeText4(ByVal filename As String)
Dim textContent As String = TextBox2.Text
Dim lenWrite As Long
Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite)
lenWrite = textContent.Length
Dim sw As New StreamWriter(fs, Encoding.Default, lenWrite - 1)
sw.WriteLine(textContent)
sw.Close()
fs.Close()
End Sub
'记事本第五种方法写入
Private Sub WriteText5(ByVal filename As String)
Dim textContent As String = TextBox2.Text
Dim buffer() As Char = textContent.ToCharArray
Dim lenTotal As Long = buffer.Length
Dim lenWrite As Integer = 30
Dim buffPos As Integer = 0
'Dim fs As New FileStream(filename, FileMode.OpenOrCreate)
'Dim sw As New StreamWriter(fs)
Dim sw As New StreamWriter(filename, False)
Do While buffPos < lenTotal
If buffPos + lenWrite > lenTotal Then
lenWrite = lenTotal - buffPos
End If
sw.Write(buffer, buffPos, lenWrite)
buffPos += lenWrite
Loop
sw.Close()
End Sub
'记事本第六种方法写入
Private Sub writeText6(ByVal filename As String)
Dim textContent As String = TextBox1.Text
File.WriteAllText(filename, textContent, Encoding.Default)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim FilePath As String
If SaveFileDialog1.ShowDialog <> DialogResult.OK Then
Exit Sub
End If
FilePath = SaveFileDialog1.FileName
Select Case cbWrite.SelectedIndex
Case 0
Call writeText1(FilePath)
Case 1
Call writeText2(FilePath)
Case 2
Call writeText3(FilePath)
Case 3
Call writeText4(FilePath)
Case 4
Call WriteText5(FilePath)
Case 5
Call writeText6(FilePath)
End Select
Label1.Text = "写入文件:" & FilePath
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
End
End Sub
End Class
四、运行程序
1、读取文本
选择读取方式,在此示例1,选择1,点击 读取
选择要读取的文件
点击打开
在显示的框中能看到读取到的数据与文本内容一致
2、写入数据
(1)把需要写入的数据写到图中所示的框中
(2)选择要写入的方式,在此只示例1,
(3)点击写入,选择要写入的位置
找到要写入的文本位置
点击保存,
选择替换,打开文本,可以看到内容已替换成要写入的数据