.NET打开电脑找到文本,读取文本数据

一、新建一个.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)点击写入,选择要写入的位置

找到要写入的文本位置

点击保存,

选择替换,打开文本,可以看到内容已替换成要写入的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值