设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间20 现在时间20 缓存数据 和聪明人交流,和靠谱的人恋爱,和进取的人共事,和幽默的人随行。晚安!

和聪明人交流,和靠谱的人恋爱,和进取的人共事,和幽默的人随行。晚安!

查看: 1431|回复: 4

老生常谈C# 中的 StreamReader 和 StreamWriter 类

[复制链接]

  离线 

TA的专栏

  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:8
  • 最近打卡:2023-10-26 11:23:40
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
29
主题
23
精华
0
金钱
94
积分
54
注册时间
2023-9-29
最后登录
2025-8-30

发表于 2024-7-5 23:14:02 来自手机 | 显示全部楼层 |阅读模式
  1. 在这里插入代码片
复制代码
StreamReader 和 StreamWriter 位于 System.IO 命名空间中。当您想要读取或写入基于字符的数据时,这两个类都很有用。这两个类都处理 Unicode 字符。
StreamReader 派生自抽象类“TextReader”,StreamWriter 派生自“TextWriter”。
下表显示了 StreamWriter 类的一些成员。
成员描述Close()关闭当前StreamWriter对象和底层流,此方法相当于Dispose(),用于释放资源。Write()此方法用于将数据写入不带换行符的文本流。WriteLine()此方法用于将数据写入带有新行的文本流。下表显示了 StreamReader 类的一些成员。
成员描述Close()关闭当前StreamReader对象和底层流,此方法相当于Dispose(),用于释放资源。Read()从输入流读取下一个字符。ReadLine()从当前流中读取一行字符并以字符串形式返回数据。ReadToEnd()从当前位置读取流直至流的末尾。让我们看一个例子,我们使用 StreamWriter 将数据写入文件,并使用 StreamReader 从文件读取数据。为了读取或写入文件,File 类提供了 2 个方法,分别返回 StreamReader 或 StreamWriter 对象。

  • CreateText(string filepath):将数据写入文件;返回StreamWriter对象
  • OpenText(string filepath):从文件读取数据;返回一个StreamReader对象
下面介绍如何创建示例。
创建一个名为“StreamWriterAndStreamReaderExample”的新项目,并创建 2 个静态方法,一个用于读取文件,另一个用于写入文件。换句话说,就是 ReadFromFile() 和 WriteToFile()。在程序的源文件中导入 System.IO 命名空间,其中包含处理文件输入和输出的所有类。
在这个例子中,我们将把从 1 到 10 的表写入一个文件中,并使用这些类读取该文件。
Program.cs
  1. class Program
  2. {
  3.     static void Main(string[] args)
  4.     {
  5.         Console.ForegroundColor = ConsoleColor.Green;
  6.         Console.Title = "StreamReader and StreamWriter";
  7.         WriteToFile();
  8.         ReadFromFile();
  9.         Console.ForegroundColor = ConsoleColor.Gray;
  10.     }
  11.     public static void ReadFromFile()
  12.     {
  13.         using (StreamReader sr = File.OpenText(@"E:\Programming Practice\CSharp\Console\table.tbl"))
  14.         {
  15.             string tables = null;
  16.             while ((tables = sr.ReadLine()) != null)
  17.             {
  18.                 Console.WriteLine("{0}", tables);
  19.             }
  20.             Console.WriteLine("Table Printed.");
  21.         }
  22.     }
  23.     public static void WriteToFile()
  24.     {
  25.         using (StreamWriter sw = File.CreateText(@"E:\Programming Practice\CSharp\Console\table.tbl"))
  26.         {
  27.             sw.WriteLine("Please find the below generated table of 1 to 10");
  28.             sw.WriteLine("");
  29.             for (int i = 1; i <= 10; i++)
  30.             {
  31.                 for (int j = 1; j <= 10; j++)
  32.                 {
  33.                     sw.WriteLine("{0}x{1}= {2}", i, j, (i * j));
  34.                 }
  35.                 sw.WriteLine("==============");
  36.             }
  37.             Console.WriteLine("Table successfully written on file.");
  38.         }
  39.     }
  40. }
复制代码
在前面的例子中,WriteToFile() 方法用于将数据写入文件“table.tbl”,然后使用 ReadFromFile() 方法从该文件读取数据。您可以创建具有任何扩展名的文件,如 .txt、.abc、.tlb 等。为了将数据写入文件,我们创建了一个 StreamWriter 对象,该对象调用 WriteLine() 方法来写入数据;为了从文件读取数据,我们创建了一个 StreamReader 对象,该对象调用 ReadLine() 方法;在读取文件时,数据将存储在 while 循环中的字符串中,直到读取所有数据。在 Main() 中调用这两个方法。
当您运行应用程序时,WriteToFile() 将在指定位置创建一个文件,如下所示。
1.png

用记事本打开此文件来查看内容。
2.png

输出
3.png

希望本文能帮助您理解 C# 中的 StreamReader 和 StreamWriter 类。
到此这篇关于老生常谈C# 中的 StreamReader 和 StreamWriter 类的文章就介绍到这了,更多相关C# StreamReader 和 StreamWriter 类内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:203
  • 打卡月天数:0
  • 打卡总奖励:2967
  • 最近打卡:2023-08-27 10:45:17
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
470
主题
431
精华
0
金钱
4316
积分
915
注册时间
2022-12-21
最后登录
2025-8-30

发表于 2024-8-15 08:04:49 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:17
  • 最近打卡:2023-09-18 03:32:55
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
30
积分
6
注册时间
2023-6-11
最后登录
2023-9-18

发表于 2024-9-11 10:59:11 | 显示全部楼层
感谢楼主,顶。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 打卡月天数:0
  • 打卡总奖励:22
  • 最近打卡:2025-11-17 04:16:48
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
38
积分
8
注册时间
2023-10-28
最后登录
2025-11-17

发表于 2024-11-2 00:56:17 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
18
积分
16
注册时间
2022-12-29
最后登录
2022-12-29

发表于 2025-10-10 20:58:56 | 显示全部楼层
路过,支持一下
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼
4楼
5楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表