VB.Net读取和写入文本文件

2025-08-18 18:36:19

StreamReader和StreamWriter类用于读取和写入数据到文本文件。这些类继承自抽象基类Stream,它支持读取和写入字节到文件流中。

StreamReader类StreamReader类也从抽象基类TextReader继承,它代表读取一系列字符的读取器。下表介绍了StreamReader类的一些常用方法:

编号

方法

描述

1

Public Overrides Sub Close

它关闭StreamReader对象和底层流,并释放与阅读器相关的所有系统资源。

2

Public Overrides Function Peek As Integer

返回下一个可用字符,但不会消耗它。

3

Public Overrides Function Read As Integer

从输入流中读取下一个字符,并将字符位置前进一个字符。

示例以下示例演示如何读取名为 test.txt 的文本文件。该文件读取:

Down the way where the nights are gay

And the sun shines daily on the mountain top

I took a trip on a sailing ship

And when I reached Jamaica

I made a stop

文件:fileProg.vb -

Imports System.IO

Module fileProg

Sub Main()

Try

' Create an instance of StreamReader to read from a file. '

' The using statement also closes the StreamReader. '

Using sr As StreamReader = New StreamReader("e:/jamaica.txt")

Dim line As String

' Read and display lines from the file until the end of '

' the file is reached. '

line = sr.ReadLine()

While (line <> Nothing)

Console.WriteLine(line)

line = sr.ReadLine()

End While

End Using

Catch e As Exception

' Let the user know what went wrong.'

Console.WriteLine("The file could not be read:")

Console.WriteLine(e.Message)

End Try

Console.ReadKey()

End Sub

End Module

编译和运行程序时显示的结果如下 -

F:\worksp\vb.net\filehandle>vbc fileProg.vb

Microsoft (R) Visual Basic Compiler version 14.0.1038

for Visual Basic 2012

Copyright (c) Microsoft Corporation. All rights reserved.

... ...

F:\worksp\vb.net\filehandle>fileProg.exe

Down the way where the nights are gay

And the sun shines daily on the mountain top

I took a trip on a sailing ship

And when I reached Jamaica

I made a stop

StreamWriter类StreamWriter类继承自抽象类TextWriter,它表示作者,可以编写一系列字符。

下表显示了该类最常用的一些方法:

编号

方法

描述

1

Public Overrides Sub Close

关闭当前StreamWriter对象和基础流。

2

Public Overrides Sub Flush

清除当前写入器的所有缓冲区,并将所有缓冲的数据写入基础流。

3

Public Overridable Sub Write (value As Boolean)

将布尔值的文本表示形式写入文本字符串或流(从TextWriter继承。)

4

Public Overrides Sub Write (value As Char)

将一个字符写入流中。

5

Public Overridable Sub Write (value As Decimal)

将十进制值的文本表示形式写入文本字符串或流。

6

Public Overridable Sub Write (value As Double)

将8字节浮点值的文本表示形式写入文本字符串或流。

7

Public Overridable Sub Write (value As Integer)

将4字节有符号整数的文本表示形式写入文本字符串或流。

8

Public Overrides Sub Write (value As String)

将一个字符串写入流。

9

Public Overridable Sub WriteLine

写一个行结束符到文本字符串或流。

以上列表并不详尽。 有关完整的方法列表,请访问Microsoft的文档

示例以下示例演示如何使用StreamWriter类将文本数据写入文件中:

Imports System.IO

Module writeFile

Sub Main()

Dim names As String() = New String() {"Hakou Ali", "Nacy Lee", "Amir Wong", "Marry Amlan"}

Dim s As String

Using sw As StreamWriter = New StreamWriter("names.txt")

For Each s In names

sw.WriteLine(s)

Next s

End Using

' Read and show each line from the file. '

Dim line As String

Using sr As StreamReader = New StreamReader("names.txt")

line = sr.ReadLine()

While (line <> Nothing)

Console.WriteLine(line)

line = sr.ReadLine()

End While

End Using

Console.ReadKey()

End Sub

End Module

执行上面示例代码,得到以下结果 -

F:\worksp\vb.net\filehandle>vbc writeFile.vb

Microsoft (R) Visual Basic Compiler version 14.0.1038

for Visual Basic 2012

Copyright (c) Microsoft Corporation. All rights reserved.

......

F:\worksp\vb.net\filehandle>writeFile.exe

Hakou Ali

Nacy Lee

Amir Wong

Marry Amlan

上一篇:

VB.Net文件处理

下一篇:

VB.Net基本控件

最新发表
友情链接