码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2016-05-29 16:39:29      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
 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的文本文件读写操作

标签:

原文地址:http://www.cnblogs.com/Lightmen/p/5539513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!