注意:
(1)File.Create()方法将返回一个FileStream对象,必须关闭该对象,否则其它方法访问时会提示“文件正被占用”
FileStream fs = File.Create(strPath + '//' + strName + ".dsl");
fs.Close();
C#中文件、文件夹、文件读写有关的类位于System.IO命名空间下。
一、文件
1.文件与I/O流的区别
文件是由一些具有永久存储性及特定顺序的字节组成的一个有序的、具有名称的集合。
I/O流提供一种向后备存储写入字节和从后备存储读取字节的方式,后备存储可以为多种存储媒介之一。除文件流外还有网络流、内存流等。
2.System.IO命名空间中的类及说明
msdn:http://msdn.microsoft.com/zh-cn/library/system.io.aspx
下面是常用的几个,更多内容参考MSDN
BinaryReader 用特定的编码将基元数据类型读作二进制值。
BinaryWriter 以二进制形式将基元类型写入流,并支持用特定的编码写入字符串
Directory 公开用于创建、移动和枚举通过目录和子目录的静态方法。 此类不能被继承。
DirectoryInfo 公开用于创建、移动和枚举目录和子目录的实例方法。 此类不能被继承。
DriveInfo 提供对有关驱动器的信息的访问。
File 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream 对象。
FileFormatException 应该符合一定文件格式规范的输入文件或数据流的格式不正确时引发的异常。
FileInfo 提供创建、复制、删除、移动、打开文件的功能
FileStream 公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。
MemoryStream 创建其支持存储区为内存的流。
Path 对包含文件或目录路径信息的 String 实例执行操作。 这些操作是以跨平台的方式执行的。
Stream 提供字节序列的一般视图。
StreamReader 实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。
StreamWriter 实现一个 TextWriter,使其以一种特定的编码向流中写入字符。
StringReader 实现从字符串进行读取的 TextReader。
StringWriter 实现一个用于将信息写入字符串的 TextWriter。 该信息存储在基础 StringBuilder 中。
TextReader 表示可读取连续字符系列的读取器。
3.File类与FileInfo类
(1)File类的方法都是静态方法,部分方法如下:
Copy、Create、Delete、Exists、Move、Open、
CreateText 创建或打开一个文件用于写入UTF-8编码的文本
OpenRead 读打开
OpenText 打开现有UTF-8编码的文件进行读取
OpenWrite 写打开
ReadAllBytes 把内容读入一个字节数组,然后关闭文件
ReadAllLines 把所有行读入一个字符串数组,然后关闭文件
ReadAllText 把内容读入一个字符串,然后关闭文件
Replace 使用其它文件的内容替换指定文件的内容,将删除原始i文件,并创建备份
WriteAllBytes 写入字节数组
WriteAllLines 写入指定的字符串数组
WriteAllText 写入指定的字符串
(2)FileInfo类和File类许