C#中基于FileStream的文本文件读写操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中基于FileStream的文本文件读写操作相关的知识,希望对你有一定的参考价值。

技术分享
 1 using System;
 2 using System.Collections.Generic;
 3 using System.IO;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 
 8 namespace ConsoleApp
 9 {
10     class Program
11     {
12         static void Main(string[] args)
13         {
14             FileStreamRead();
15 
16             //FileStreamWrite();
17 
18 
19             Console.ReadKey();
20         }
21 
22         private static void FileStreamWrite()
23         {
24             FileStream fs = new FileStream(@".\\res\\test2.txt", FileMode.Create, FileAccess.Write);
25             byte[] bs = Encoding.UTF8.GetBytes(@"你好");
26             fs.Write(bs, 0, bs.Length);
27             fs.Close();
28             fs.Dispose();
29             Console.WriteLine("<" + Encoding.UTF8.GetString(bs, 0, bs.Length) + ">" + "已被写入文件!");
30         }
31         private static void FileStreamRead()
32         {
33             FileStream fs = new FileStream(@".\\res\\test.txt", FileMode.Open, FileAccess.Read);
34             byte[] buff = new byte[1024];
35             int len = fs.Read(buff, 0, 1024);
36             while (len > 0)
37             {
38                 string s = Encoding.UTF8.GetString(buff, 0, len);
39                 Console.WriteLine(s);
40                 len = fs.Read(buff, 0, 1024);
41             }
42         }
43     }
44 }
View Code

上面就是使用FileStream读写文本文件的代码,很简单,但有些细节值得注意。

1,我的文件路径使用的是@".\\res\\test.txt",在解决方案资源管理器视图中如下:

  技术分享

  “.”代表程序运行的当前目录,如果直接拷贝代码,并复制上图的项目文件夹结构,调试运行可能报错,因为在程序的运行目录下没有对应的资源。

  解决办法是右键要用到的资源文件,打开属性选项,做如下图设置:

  技术分享

  再重新编译项目即可。这时打开项目所在文件夹,进入bin目录,你会发现在Debug或是Release(取决你调试运行程序的选项)目录下出现了一个res文件夹,

  打开,里面会有一个test.txt文件。

  技术分享

  在控制台应用和winform应用开发中,经常会遇到上面这种情况。

2,还有一点,在使用FileStream这类对象时,要注意对象和资源的释放和回收,FileStream对象使用完后要调用一下close()方法和dispose()方法,或者使用using子句。

 

当然以上只是文件读写操作里的最基本情况,其他更深入的使用细节可以参考msdn文档继续研究。

以上是关于C#中基于FileStream的文本文件读写操作的主要内容,如果未能解决你的问题,请参考以下文章

C# 之 FileStream类介绍

使用FileStream对象读写文件

FileStream对文本进行读写操作

C#文本操作

FileStream 类读写操作

文件读写