C#:读写简单的文本文件
常常我们会去读写一些简单的文本文件,如:读写log文件等等。DotNet中对文件的处理比较简单,但要注意的是:防止产生乱码。
这里,我将运用两种方式来对文本文件进行读写。
一、一次性读写文件的全部内容
我们将要用到以下两个类:FileInfo和FileStream,它们都位于System.IO命名空间中。
· FileInfo:通过此类可获得指定文件的详细内容,并且,还提供创建、复制、删除、移动和打开文件的实例方法,除此,FileInfo还能通过其实例方法OpenRead()来创建FileStream对象。详情可参考MSDN中的
System.IO.FileInfo。
· FileStream:支持同步和异步读写操作。使用FileStream类对文件进行读取、写入、打开和关闭等操作,并能对其他与文件相关的操作句柄进行操作。详情可参考
System.IO.FileStream。
下面用一个简单的Demo来演示:
1.导入必要的namespace;
using
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; // Import the namespace for using the FileInfo class and FileStream class
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; // Import the namespace for using the FileInfo class and FileStream class
2.创建一个读取文本文件的方法:ReadFile(string filename),并以byte[]型返回文本文件的所有内容;
static
byte
[] ReadFile(
string
filename)
... {
FileInfo fi = new FileInfo(filename);
// Using the OpenRead() method to create a FileStream instance
FileStream fs = fi.OpenRead();
byte[] bytes = new byte[fs.Length];
// Read content of the specified file, and store it with byte[] type
fs.Read(bytes, 0, (int)fs.Length);
... {
FileInfo fi = new FileInfo(filename);
// Using the OpenRead() method to create a FileStream instance
FileStream fs = fi.OpenRead();
byte[] bytes = new byte[fs.Length];
// Read content of the specified file, and store it with byte[] type
fs.Read(bytes, 0, (int)fs.Length);