iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C# StreamReader/StreamWriter与FileStream用法详解
  • 378
分享到

C# StreamReader/StreamWriter与FileStream用法详解

C# 2023-09-20 11:09:48 378人浏览 泡泡鱼
摘要

StreamReader和StreamWriter是C#中用于处理文本文件的类,而FileStream是用于处理二进制文件的类。下面

StreamReader和StreamWriter是C#中用于处理文本文件的类,而FileStream是用于处理二进制文件的类。下面是它们的用法详解:
StreamReader用法:
1. 创建一个StreamReader对象:可以通过指定文件的路径来创建StreamReader对象,也可以通过传递一个FileStream对象来创建StreamReader对象。
```csharp
StreamReader reader = new StreamReader("file.txt");
StreamReader reader = new StreamReader(File.OpenRead("file.txt"));
```
2. 读取文件内容:可以使用ReadLine()方法逐行读取文本文件,使用ReadToEnd()方法一次性读取整个文件内容。
```csharp
string line = reader.ReadLine();
string content = reader.ReadToEnd();
```
3. 关闭StreamReader对象:读取完文件后,需要关闭StreamReader对象以释放资源。
```csharp
reader.Close();
```
StreamWriter用法:
1. 创建一个StreamWriter对象:可以通过指定文件的路径来创建StreamWriter对象,也可以通过传递一个FileStream对象来创建StreamWriter对象。
```csharp
StreamWriter writer = new StreamWriter("file.txt");
StreamWriter writer = new StreamWriter(File.OpenWrite("file.txt"));
```
2. 写入数据到文件:可以使用Write()方法将数据写入文件,使用WriteLine()方法写入一行数据到文件。
```csharp
writer.Write("Hello");
writer.WriteLine("World");
```
3. 关闭StreamWriter对象:写入完数据后,需要关闭StreamWriter对象以释放资源。
```csharp
writer.Close();
```
FileStream用法:
1. 创建一个FileStream对象:需要指定文件的路径、打开模式和访问权限来创建FileStream对象。
```csharp
FileStream fileStream = new FileStream("file.bin", FileMode.Open, FileAccess.ReadWrite);
```
2. 读取二进制数据:可以使用Read()方法读取一个字节的二进制数据,使用ReadByte()方法读取一个字节的二进制数据,使用ReadBytes()方法读取指定长度的二进制数据。
```csharp
byte[] buffer = new byte[1024];
int bytesRead = fileStream.Read(buffer, 0, buffer.Length);
```
3. 写入二进制数据:可以使用Write()方法写入一个字节的二进制数据,使用WriteByte()方法写入一个字节的二进制数据,使用WriteBytes()方法写入字节数组的二进制数据。
```csharp
byte[] data = { 0x01, 0x02, 0x03 };
fileStream.Write(data, 0, data.Length);
```
4. 关闭FileStream对象:读取或写入完数据后,需要关闭FileStream对象以释放资源。
```csharp
fileStream.Close();
```
以上就是StreamReader/StreamWriter与FileStream的用法详解。根据具体需求和文件类型选择适合的类来处理文件操作。

--结束END--

本文标题: C# StreamReader/StreamWriter与FileStream用法详解

本文链接: https://www.lsjlt.com/news/412724.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C# StreamReader/StreamWriter与FileStream用法详解
    StreamReader和StreamWriter是C#中用于处理文本文件的类,而FileStream是用于处理二进制文件的类。下面...
    99+
    2023-09-20
    C#
  • C#使用StreamReader和StreamWriter类读写操作文件
    StreamReader 类 (System.IO) | Microsoft 官方文档 StreamWriter 类 (System.IO) | Microsoft 官方文档 一、文...
    99+
    2024-04-02
  • C#怎么使用StreamReader和StreamWriter类读写操作文件
    这篇文章主要讲解了“C#怎么使用StreamReader和StreamWriter类读写操作文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么使用StreamReader和Strea...
    99+
    2023-06-30
  • C#之StreamWriter StreamWriter使用方法
    StreamWriter 是 C# 中用于写入文本文件的类。下面是 StreamWriter 类的一些常用方法和用法:1. 创建 S...
    99+
    2023-09-13
    C#
  • C# SaveFileDialog与OpenFileDialog用法案例详解
    1.OpenFileDialog private void btnOpen_Click(object sender, EventArgs e) { ...
    99+
    2024-04-02
  • C++之&与*符号用法案例详解
    C++ 之 & 和 * 1.基本概念与二者区别 指针是一块内存的地址值,而引用是一块内存的别名。 从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它...
    99+
    2024-04-02
  • C++stack与queue使用方法详细讲解
    目录Stack的介绍和使用stack的默认定义的模板stack的使用queue的介绍和使用queue的默认定义的模板queue的使用Stack的介绍和使用 stack的文档介绍 st...
    99+
    2023-01-04
    C++ stack与queue C++ stack使用方法 C++ queue使用方法
  • C++ string.erase()用法详解
    标准库类型string表示可变长的字符序列。可以通过string类的erase()函数来对该字符序列进行删除操作。erase()函数共有3种格式,分别用来删除指定位置的字符、删除指定...
    99+
    2024-04-02
  • C#Newtonsoft.Json用法详解
    目录一、创建JSON对象二、创建JSON数组三、使用Linq to JSON查询四、将类对象序列化为Json五、将Json反序列化为类对象六、常用工具1.判断Json是否正确2.添加...
    99+
    2023-02-06
    C# Newtonsoft.Json
  • 【C++】:string用法详解
    朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux的基础知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结构专栏:数据结构 个  人  主...
    99+
    2023-10-20
    c++ string
  • C++ ROS与boost:bind()使用详解
    目录1. boost::bind1.1 通过functions和function pointers使用bind1.2 通过function objects使用bind1.3 通过po...
    99+
    2023-01-10
    C++ ROS与boost:bind() C++ ROS C++ boost:bind()
  • C# 内部类与Lambda表达式用法详解
    目录一、内部类1.什么是内部类?1.类作为形参和返回值:2.内部类的几种形式二、Lambda表达式(强调做什么,而不是以什么形式去做)1.Lambda表达式的格式要求:2.Lambd...
    99+
    2024-04-02
  • C#算法设计与分析详解
    目录1. 什么是科学方法??1.观察2.将问题规模和运行时间的关系量化2.数学模型近似近似运行时间成本模型总结3. 增长数量级的分类4. 倍率实验5.注意事项6. 处理对于输入的依赖...
    99+
    2024-04-02
  • C语言操作符#与##使用方法详解
    目录一、# 运算符二、## 运算符三、小结一、# 运算符 # 运算符用于在预处理期将宏参数转换为字符串# 的转换作用是在预处理期完成的,因此只在宏定义中有效编译器不知道 # 的转换作...
    99+
    2024-04-02
  • C++ pair方法与vector方法案例详解
    一,pair方法 类模板:template <class T1, class T2> struct pair 参数:T1是第一个值的数据类型,T2是第二个值的数据类型。 ...
    99+
    2024-04-02
  • C/C++指针介绍与使用详解
    目录什么是指针定义指针变量间接引用指针常or常常指向指针的指针指针与数组指针的运算堆内存分配C语言C++语言指针与函数数组名作为函数的入口参数函数名作为参数传入其他函数使用指针修改函...
    99+
    2024-04-02
  • C++ std::bind用法详解
    一、介绍 C++11中提供了std::bind。bind()函数的意义就像它的函数名一样,是用来绑定函数调用的某些参数的。 bind的思想实际上是一种延迟计算的思想,将可调用对象保存...
    99+
    2024-04-02
  • C#委托用法详解
    目录1、什么是委托2、委托的定义3、委托的实例化3.1 使用new关键字3.2 使用匿名方法3.3 使用Lambda表达式4、泛型委托5、C#内置泛型委托6、多播委托1、什么是委托 ...
    99+
    2024-04-02
  • C++Boost.Range与Adapters库使用详解
    目录一、说明二、适配器练习一、说明 本节叙述关于Boost.Range和Adeptor两个内容。 Boost.Range 是一个库,乍一看,它提供的算法类似于标准库提供的算法。例如,...
    99+
    2022-11-13
    C++ Boost.Range与Adapters C++ Adapters C++ Boost.Range
  • C#DirectoryInfo类用法详解
    DirectoryInfo类是System.IO命名空间的一部分。它用于创建,删除和移动目录。它提供了执行与目录和子目录相关的操作的方法。这是一个密封的类,所以不能继承它。 Dire...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作