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 }

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

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

  

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

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

  

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

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

  

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

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

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

时间: 2024-08-03 21:10:27

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

C++中对txt文件的读写操作

最近在做颜色校正部分的操作,发现对C++文件的读写遗忘了,特记于此:改程序是实现对txt文件的写入与读出:这是初级的写法,有时间在搞一下高级写法:注意最后别忘了close掉打开的文件! 程序如下: // test.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include<iostream> #include<fstream> #includ

C#中基于流的XML文件操作笔记

System.Xml.XmlReader和System.Xml.XmlWriters是两个抽象类,XmlReader提供了对于XML数据的快速,非缓存,只进模式的读取器,XmlWriter表示一个编写器,该编写器提供快速,非缓存,只进的方式来生成包含XML数据的流文件. XmlReader与SAX读取器类似,不过前者是提取模式(只进只读的游标),后者是推送模式(将事件推送到应用程序). XmlReader的优点是: 1. 简化状态管理 2.可以有多个输入流 3.提取模式可以作为推送模式的基础,反

Python中关于txt的简单读写模式与操作

Python中关于txt的简单读写操作 常用的集中读写模式: 1.r 打开只读文件,该文件必须存在. 2.r+ 打开可读写的文件,该文件必须存在. 3.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. 4.w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失.若文件不存在则建立该文件. 5.a 以附加的方式打开只写文件.若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留. 6.a+ 以附加方式

INI 文件的读写操作

在C#中对INI文件进行读写操作,在此要引入using System.Runtime.InteropServices; 命名空间,具体方法如下: #region 变量 private static readonly string strFilePath = AppDomain.CurrentDomain.BaseDirectory.ToString() + "App.ini";//INI文件路径 #endregion #region 私有方法 /// <summary> /

NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))

NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的方法,无论C++还是C#还是VB方式思路都是一样的.先介绍用MFC去做,然后在写一篇博客介绍怎么在NX的二次开发的向导模板里去做.NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article

【python学习笔记】pthon3.x中的文件读写操作

在学习python文件读写的时候,因为教程是针对python2的,而使用的是python3.想要利用file类时,类库里找不到,重装了python2还是使不了.在别人园子认真拜读了<详解python2和python3区别>(已收藏)之后,才发现python3已经去掉file类. 现在利用python进行文件读写的方法更加类似于C语言的文件读写操作. 如今总结如下: 一 打开文件—— f = open('poem.txt','x+'): 读过open的帮助文档,然后自己翻译了一下,现给大家分享一

(六)kernel中文件的读写操作可以使用vfs_read()和vfs_write

需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据.在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(), vfs_read() vfs_write(),set_fs(),get_fs()等,这些函数在linux/fs.h和asm/uaccess.h头文件中声明.下面介绍主要步骤 1. 打开文件 filp_open()在kernel中可以打开文件,其原形如下: strcut file

NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))

在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article/details/88922030 这篇博客,要不然你听不懂我下面在说什么. 版本NX11+VS2013+office2016 首先我们通过NX开发向导创建了一个模板. 先把项目属性改成多字节.下面我们把前面做的MFC项目里的几个EXCAL头文件和stdafx一块拷过来,加到NX的项目里. 在NX的

C# 运用StreamReader类和StreamWriter类实现文件的读写操作

对文件的读写操作应该是最重要的文件操作,System.IO命名空间为我们提供了诸多文件读写操作类,在这里我要向大家介绍最常用也是最基本的StreamReader类和StreamWriter类.从这两个类的名称我们不难发现它们都是基于流的读写操作类. 我们可以通过File类的OpenText()方法来获取一个StreamReader对象,通过该对象我们可以实现对文本文件的读操作,方法如下:  Console.WriteLine("Reading the contents from the file