码迷,mamicode.com
首页 > 其他好文 > 详细

文件及数据流技术

时间:2016-03-30 00:11:12      阅读:406      评论:0      收藏:0      [点我收藏+]

标签:

文件

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

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