文件
1.File类
File类支持对文件的基本操作,它包括用于创建、复制、删除、移动和打开文件的静态方法,并且协助创建FileStream对象。
File类的常用方法及说明
方法 说明
Copy 将现有文件复制到新文件
Create 在指定路径中创建文件
Delete 删除指定文件
Exists 指定文件是否存在
Move 将指定文件移到新位置,并提供指定新文件名的选项
Open 打开指定路径上的FileStream
CreateText 创建或打开一个文件用于写入UTF-8编码的文本
GetCreationTime 返回指定文件或目录的创建日期和时间
GetLastAccessTime 返回上次访问指定文件或目录的日期和时间
GetLastWriteTime 返回上次写入指定文件或目录的日期和时间
OpenRead 打开现有文件以进行读取
OpenText 打开现有UTF-8编码文件以进行读取
OpenWrite 打开现有文件以进行写入
ReadAllBytes 将文件内容读入一个字符串
ReadAllLines 将文件的所有行读入一个字符串数组
ReadAllText 将文件的所有行读入一个字符串
Replace 使用其他文件的内容替换指定文件的内容
SetCreationTime 设置创建该文件的日期和时间
SetLastAccessTime 设置上次访问指定文件的日期和时间
SetLastWriteTime 设置上次写入指定文件的日期和时间
WriteAllBytes 写入指定的字节数组,如果目标文件不存在,就创建
WriteAllLines 写入指定的字符串
WriteAllText 写入内容
说明:
a).由于File类中的所有方法都是静态的,所以如果只想执行一个操作,那么使用File类中方法的效率比使用相应FileInfo类中的方法可能更高。
b).File类的静态方法对所有方法都执行安全检查,因此如果打算多次重用某个对象,可考虑改用FileInfo类中的相应方法,因为并不总是需要安全检查。
2.Directory类
Directory类公开了用于创建、移动、枚举、删除目录和子目录的静态方法。
Directory类的常用方法及说明:
CreateDirectory:创建指定路径中的所有目录
Delete:删除指定目录
Exists:确定给定路径是否引用磁盘上的现有目录
GetCreationTime:获取目录的创建日期和时间
GetDirectories:获取指定目录中子目录的名称
GetDirectoryRoot:返回指定路径的卷信息、根信息或两者同时返回
GetFiles:返回指定目录中的文件的名称
GetFilesSystemEntries:返回指定目录中所有文件和子目录的名称
GetLastAccessTime:返回上次访问指定文件或目录的日期和时间
GetLastWriteTime:返回上次写入指定文件或目录的日期和时间
GetParent:检索指定路径的父目录,包括绝对路径和相对路径
Move:将文件或目录及其内容移到新位置
SetCreationTime:
SetCurrentDirectory:
SetLastAccessTime:
SetLastWirteTime:
注:在用Directory类对文件夹进行操作时,其文件夹的路径必须争取,否则会触发异常。
3.FileInfo类
FileInfo fInfo = new FileInfo(“文件路径”);
fInfo.Exists;
FileInfo类的常用属性及说明
CreationTime:获取或设置当前FileSystemInfo对象的创建时间
Directory:获取父目录的实例
DirectoryName:获取表示完整目录的完整路径字符串
Exists:获取指定文件是否存在的值
Extension:获取表示文件扩展名部分的字符串
FullName:获取目录或文件的完整目录
IsReadOnly:获取或设置确定当前文件是否为只读的值
LastAccessTime:获取或设置上次访问当前文件或目录的时间
LastWriteTime:获取或设置上次写入当前文件或目录的时间
Length:获取当前文件大小
Name:获取文件
4.DirectoryInfo类
DirectoryInfo类的常用属性及说明
CreationTime:获取或设置当前FileSystemInfo对象的创建时间
Exists:获取指定文件是否存在的值
Extension:获取表示文件扩展名部分的字符串
FullName:获取目录或文件的完整目录
LastAccessTime:获取或设置上次访问当前文件或目录的时间
LastWriteTime:获取或设置上次写入当前文件或目录的时间
Name:获取文件
Parent:获取指定子目录的父目录
Root:获取路径的根部分
数据流
1.文件流类
1).FileStream类的常用属性
CanRead:获取当前流是否支持读取
CanSeek:获取当前流是否支持查找
CanTimeout:获取当前流是否支持写入
CanWrite:获取是否支持写入
IsAsync:获取FileStream是异步还是同步打开
Length:获取字节表示的流长度
Name:获取传递给构造函数的FileStream的名称
Position:获取或设置此流的当前位置
ReadTimeout:获取或设置流在超时前尝试读取多长时间
WriteTimeout:获取或设置流在超时前尝试写入多长时间
2).FileStream类的常用方法
BeginRead:开始异步读操作
BeginWrite:开始异步写操作
Close:关闭当前流并释放与之关联的所有资源
EndRead:等待挂起的异步读取完成
EndWrite:结束异步写入,在I/O操作完成之前一直阻止
Lock:允许读取访问的同时防止其他进程更改FileStream
Read:从流中读取字节块并将该数据写入给定的缓冲区中
ReadByte:从文件中读取一个字节,并将读取位置提升一个字节
Seek:将该流的当前位置设置为给定值
SetLength:将该流的长度设置为给定值
Unlock:允许其他进程访问以前锁定的某个文件的全部或部分
Write:使用从缓冲区读取的数据将字节块写入流
WriteByte:将一个字节写入文件流的当前位置
3).使用FileStream类操作文件
FileMode类的枚举成员及说明
Append:打开现有文件并查找到文件尾,或创建新文件。只能和FileAccess.Write一起使用
Create:指定操作系统应创建新文件,如果文件存在,则改写
CreateNew:指定操作系统应创建新文件,如果文件存在,则产生异常
Open:指定操作系统应打开现有文件。如果文件不存在,则产生异常
OpenOrCreate:指定操作系统应打开文件,如果文件存在;否则,应创建新文件。
Truncate:指定操作系统应打开现有文件。文件一旦打开,将被截断为零字节大小
FileStream aFile = new FileStream(“Test.txt”, FileMode.OpenOrCreate, FileAccess.ReadWrite)
2.文件文件的写入与读取
1).StreamWriter是专门用来处理文本文件的类,可以方便地向文本中写入字符串。同时也负责重要的转换和处理向FileStream对象写入工作。
SteamWriter类的常用属性及说明
Encoding:获取将输出写入到其中的Encoding
Formatprovider:获取控制格式设置的对象
NewLine:获取或设置由当前TextWriter使用的行结束符字符串
StreamWriter类的常用方法及说明
Close:关闭当前的StringWriter和基础流
Write:写入到StringWriter的此实例中
WriteLine:写入重载参数指定的某些数据,后跟行结束符
StreamWriter sw = new StreamWriter(“文件名.txt”,true);
sw.WriteLine(“”);
sw.Close();
2).StreamReader类
StreamReader是专门用来读取文本文件的类,它可以从底层Stream对象创建StreamReader对象的实例,而且也能指定编码规范参数。
常用方法及说明
Close:关闭StreamReader
Read:读取输入字符串中的写一个字符或下一组字符
ReadBlock:从当前流中读取最大count的字符并从index开始将该数据写入Buffer
ReadLine:从基础字符串中读取一行
ReadToEnd:将整个流或从流的当前位置到流的结尾作为字符串读取
SteamReader sr = new SteamReader(“文件名.txt”);
string str = sr.ReadToEnd();
sr.Close();
3.二进制文件的写入与读取
1).BinaryWriter类以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。
常用方法及说明
Close:关闭当前的BinaryWriter和基础流
Seek:设置当前流中的位置
Write:将值写入当前流
BinaryWriter myWriter = new BinaryWriter(myStream);
myWriter.Write(“”);
myWriter.Close();
2).BinaryReader类
BinaryReader用特定的编码将基元数据类型读作二进制值。
常用方法及说明
Close:关闭当前阅读器及基础流
PeekChar:返回下一个可用的字符,并且不提升字节或字符的位置
Read:从基础流中读取字符,并提升流的当前位置
ReadBoolean:从当前流中读取Boolean值,并使该流的当前位置提升一个字节
ReadByte:从当前流中读取下一个字节,并使流的当前位置提升一个字节
ReadBytes:从当前流中将count个字节读入字节数组,并使当前位置提升count个字节
ReadChar:从当前流中读取count个字符,以字符数组的形式返回数据,并根据所使用的Encoding和从流中读取的特定字符,提升当前位置
ReadInt32:从当前流中读取4个字节的有符号整数,并使流的当前位置提升4个字节
ReadString:从当前流中读取一个字符串
FileStream myStream = new FileStream(“文件名.txt”,FileMode.Open,FileAccess.Read);
BinaryReader myReader = new BinaryReader(myStream);
if(myReader.PeekChar() != -1)
{
myReader.ReadInt32();
}
myReader.Close();
myStream.Close();
《C#从入门到精通》读后总结
原文:http://www.cnblogs.com/hmliang/p/5335305.html