VB.NET 与 C# 文件操作文本到二进制文件的读写

一、概述

文件操作是编程中的基础且重要的部分,无论是文本文件还是二进制文件,读写操作都极为常见。本文将以 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# 中进行文本文件和二进制文件读写的方法,并提供了完整的代码示例和注释。希望能帮助你更好地理解文件操作的相关知识。如果有任何问题,欢迎在评论区留言讨论。

相关推荐
牛哇网络工作室12 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
zlinear数据采集卡1 天前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#
深澈Vincel1 天前
我用 C# + WebView2 做了一个针对“流氓软件”的“一键清理工具“:架构实践与踩坑记录
c#
zlinear数据采集卡1 天前
数据采集卡从入门到精通(7):流水线型ADC——级级接力,高速与高精的平衡术
开发语言·arm开发·嵌入式硬件·fpga开发·c#
kingwebo'sZone1 天前
C# 根据公式计算的方法
开发语言·c#
阿部多瑞 ABU1 天前
告别手工核图:基于 .NET + MuPDFCore 的 CAD 等轴测 PDF 材料表提取与新旧版本对比实战
后端·算法·ui·pdf·c#
条形码D1 天前
DRG综合管理分析系统-目前已经支持CHS-DRG3.0
c#·drg·3.0分组器·drg分组器·chs-drg3.0分组器
Alex Gram2 天前
数据库同步工具PanguSync图文教程
java·mysql·postgresql·sqlserver·c#·数据库同步软件·数据库同步工具
头茬韭菜2 天前
第 10 篇:「Fluss 实战案例集」—— 完整解决方案与最佳实践
c#·linq·fluss
淡海水2 天前
01-05-运行时-JIT优化全景-内联去虚拟化边界检查消除
windows·c#·虚拟化·jit·内联·边界检查消除