当前位置: 首页 > 文档资料 > VB.Net 中文教程 >

读取和写入文本文件(Reading from and Writing into Text files)

优质
小牛编辑
134浏览
2023-12-01

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

StreamReader类

StreamReader类还继承自抽象基类TextReader,它表示用于读取一系列字符的阅读器。 下表描述了StreamReader类的一些常用methods -

Sr.No.方法名称和目的
1

Public Overrides Sub Close

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

2

Public Overrides Function Peek As Integer

返回下一个可用字符,但不使用它。

3

Public Overrides Function Read As Integer

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

例子 (Example)

以下示例演示如何读取名为Jamaica.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
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

猜猜编译和运行程序时它显示的内容!

StreamWriter类

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

下表显示了此类最常用的一些方法 -

Sr.No.方法名称和目的
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的文档

例子 (Example)

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

Imports System.IO
Module fileProg
   Sub Main()
      Dim names As String() = New String() {"Zara Ali", _
         "Nuha Ali", "Amir Sohel", "M 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

编译并执行上述代码时,会产生以下结果 -

Zara Ali
Nuha Ali
Amir Sohel
M Amlan