一、概述
文件操作是编程中的基础且重要的部分,无论是文本文件还是二进制文件,读写操作都极为常见。本文将以 VB.NET 和 C# 为例,详细讲解如何实现文件的创建、写入和读取,并提供完整的代码示例和注释。
二、文本文件的写入与读取
1. 文本文件写入
在 VB.NET 和 C# 中,我们使用 StreamWriter 类来写入文本文件。以下是两种语言的实现方式:
VB.NET 示例:
            
            
              vbnet
              
              
            
          
          Imports System.IO
' 创建 StreamWriter 对象并指定文件路径
Dim writer As StreamWriter = File.CreateText("c:\myfile.txt")
' 写入一行文本
writer.WriteLine("Out to file.")
' 关闭写入器,释放资源
writer.Close()C# 示例:
            
            
              csharp
              
              
            
          
          using System.IO;
// 创建 StreamWriter 对象并指定文件路径
StreamWriter writer = File.CreateText("c:\\myfile.txt");
// 写入一行文本
writer.WriteLine("Out to file.");
// 关闭写入器,释放资源
writer.Close();2. 文本文件读取
读取文本文件通常使用 StreamReader 类,逐行读取直到文件结束。
VB.NET 示例:
            
            
              vbnet
              
              
            
          
          Dim reader As StreamReader = File.OpenText("c:\myfile.txt")
Dim line As String = reader.ReadLine()
' 循环读取直到行内容为 Nothing(文件结束)
While Not line Is Nothing
    Console.WriteLine(line)
    line = reader.ReadLine()
End While
reader.Close()C# 示例:
            
            
              csharp
              
              
            
          
          StreamReader reader = File.OpenText("c:\\myfile.txt");
string line = reader.ReadLine();
while (line != null)
{
    Console.WriteLine(line);
    line = reader.ReadLine();
}
reader.Close();三、二进制文件的写入与读取
二进制文件适用于存储结构化数据或非文本数据,如整数、字符串等。
1. 二进制文件写入
使用 BinaryWriter 类可以方便地写入多种数据类型。
VB.NET 示例:
            
            
              vbnet
              
              
            
          
          Dim str As String = "Text data"
Dim num As Integer = 123
' 创建 BinaryWriter 对象
Dim binWriter As New BinaryWriter(File.OpenWrite("c:\myfile.dat"))
binWriter.Write(str)  ' 写入字符串
binWriter.Write(num)  ' 写入整数
binWriter.Close()C# 示例:
            
            
              csharp
              
              
            
          
          string str = "Text data";
int num = 123;
BinaryWriter binWriter = new BinaryWriter(File.OpenWrite("c:\\myfile.dat"));
binWriter.Write(str); // 写入字符串
binWriter.Write(num); // 写入整数
binWriter.Close();2. 二进制文件读取
使用 BinaryReader 按写入顺序读取数据。
VB.NET 示例:
            
            
              vbnet
              
              
            
          
          Dim binReader As New BinaryReader(File.OpenRead("c:\myfile.dat"))
str = binReader.ReadString()  ' 读取字符串
num = binReader.ReadInt32()   ' 读取整数
binReader.Close()C# 示例:
            
            
              csharp
              
              
            
          
          BinaryReader binReader = new BinaryReader(File.OpenRead("c:\\myfile.dat"));
str = binReader.ReadString(); // 读取字符串
num = binReader.ReadInt32();  // 读取整数
binReader.Close();四、文件操作类图(Mermaid UML)
File +CreateText(path: string) +OpenText(path: string) +OpenWrite(path: string) +OpenRead(path: string) StreamWriter +WriteLine(text: string) +Close() StreamReader +ReadLine() +Close() BinaryWriter +Write(value: string) +Write(value: int) +Close() BinaryReader +ReadString() +ReadInt32() +Close()
五、生词表(Vocabulary)
| 单词/短语 | 音标 | 词性 | 词根/词缀 | 释义 | 搭配 | 例子 | 
|---|---|---|---|---|---|---|
| StreamWriter | /striːmˈraɪtər/ | 名词 | stream + writer | 流写入器 | CreateText | Dim writer As StreamWriter | 
| StreamReader | /striːmˈriːdər/ | 名词 | stream + reader | 流读取器 | OpenText | Dim reader As StreamReader | 
| BinaryWriter | /ˈbaɪnəriˈraɪtər/ | 名词 | binary + writer | 二进制写入器 | Write, Close | New BinaryWriter(...) | 
| BinaryReader | /ˈbaɪnəriˈriːdər/ | 名词 | binary + reader | 二进制读取器 | ReadString, Close | New BinaryReader(...) | 
| WriteLine | /raɪt laɪn/ | 动词短语 | write + line | 写入一行 | Console.WriteLine | writer.WriteLine("text") | 
| ReadLine | /riːd laɪn/ | 动词短语 | read + line | 读取一行 | reader.ReadLine() | line = reader.ReadLine() | 
| Close | /kloʊz/ | 动词 | clos- | 关闭 | writer.Close() | reader.Close() | 
| OpenWrite | /ˈoʊpən raɪt/ | 动词短语 | open + write | 打开写入 | File.OpenWrite | File.OpenWrite("path") | 
| OpenRead | /ˈoʊpən riːd/ | 动词短语 | open + read | 打开读取 | File.OpenRead | File.OpenRead("path") | 
本文详细介绍了在 VB.NET 和 C# 中进行文本文件和二进制文件读写的方法,并提供了完整的代码示例和注释。希望能帮助你更好地理解文件操作的相关知识。如果有任何问题,欢迎在评论区留言讨论。