《文件操作ppt课件(全)》由会员分享,可在线阅读,更多相关《文件操作ppt课件(全)(26页珍藏版)》请在金锄头文库上搜索。
1、 文件处理1 1文件操作文件操作pptppt课件(全)课件(全)学习内容n n获取磁盘信息n n目录相关操作n n文件的操作n n读写文件n n读写文本文件2 2文件操作文件操作pptppt课件(全)课件(全)获取磁盘信息n n在中,使用DriveInfo类可以实现对指定磁盘信息的访问。n n利用DriveInfo类可以方便地获取Web服务器上每个磁盘的名称、类型、大小和状态信息等。3 3文件操作文件操作pptppt课件(全)课件(全)获取驱动器信息AvailableFreeSpaceAvailableFreeSpace获获取取取取驱动驱动器可用空器可用空器可用空器可用空闲闲空空空空间间量。量
2、。量。量。该该属性会考属性会考属性会考属性会考虑虑磁磁磁磁盘盘配配配配额额,和,和,和,和TotalFreeSpaceTotalFreeSpace的的的的值值可可可可能不同。能不同。能不同。能不同。DriveFormatDriveFormat获获取文件系取文件系取文件系取文件系统统的名称,例如的名称,例如的名称,例如的名称,例如 NTFS NTFS 或或或或 FAT32FAT32。DriveTypeDriveType获获取取取取驱动驱动器器器器类类型。型。型。型。IsReadyIsReady逻辑值逻辑值,表示一个特定,表示一个特定,表示一个特定,表示一个特定驱动驱动器是否已准器是否已准器是否已
3、准器是否已准备备好。好。好。好。NameName获获取取取取驱动驱动器的名称。器的名称。器的名称。器的名称。RootDirectoryRootDirectory获获取取取取驱动驱动器的根文件器的根文件器的根文件器的根文件夹夹。TotalFreeSpaceTotalFreeSpace获获取取取取驱动驱动器可用空器可用空器可用空器可用空闲闲空空空空间总间总量。量。量。量。TotalSizeTotalSize获获取取取取驱动驱动器上存器上存器上存器上存储储空空空空间间的的的的总总大小。大小。大小。大小。VolumeLabelVolumeLabel获获取或取或取或取或设设置置置置驱动驱动器的卷器的卷器
4、的卷器的卷标标。GetDrives()GetDrives()获获取取取取WebWeb服服服服务务器上所有器上所有器上所有器上所有逻辑驱动逻辑驱动器的名称。器的名称。器的名称。器的名称。DriveInfoDriveInfo类的常用属性和方法类的常用属性和方法4 4文件操作文件操作pptppt课件(全)课件(全)对目录的操作n n指操作Web服务器的文件夹和子文件夹。n nSystem.IO命名包含的Directory类和DirectoryInfo类提供的一组方法,可以实现创建和删除文件夹,复制、移动、重命名文件夹,遍历文件夹和设置或获取文件夹信息等操作。 5 5文件操作文件操作pptppt课件(
5、全)课件(全)DirectoryDirectory类的常用方法类的常用方法CreateDirectory() CreateDirectory() 创创建指定路径中的文件建指定路径中的文件建指定路径中的文件建指定路径中的文件夹夹。Delete() Delete() 删删除指定的文件除指定的文件除指定的文件除指定的文件夹夹。Exists() Exists() 确定是否存在文件确定是否存在文件确定是否存在文件确定是否存在文件夹夹路径。路径。路径。路径。GetCurrentDirectory() GetCurrentDirectory() 获获取取取取应应用程序的当前文件用程序的当前文件用程序的当前文
6、件用程序的当前文件夹夹。GetDirectories() GetDirectories() 获获取指定文件取指定文件取指定文件取指定文件夹夹中所有子文件中所有子文件中所有子文件中所有子文件夹夹名称的集合。名称的集合。名称的集合。名称的集合。GetDirectoryRoot() GetDirectoryRoot() 返回指定路径的卷信息、根信息或两者同返回指定路径的卷信息、根信息或两者同返回指定路径的卷信息、根信息或两者同返回指定路径的卷信息、根信息或两者同时时返回。返回。返回。返回。对目录的操作6 6文件操作文件操作pptppt课件(全)课件(全)GetFiles() GetFiles() 返
7、回指定文件返回指定文件返回指定文件返回指定文件夹夹中所有文件的集合。中所有文件的集合。中所有文件的集合。中所有文件的集合。GetFileSystemEntries() GetFileSystemEntries() 返回指定文件返回指定文件返回指定文件返回指定文件夹夹中所有文件和子文件中所有文件和子文件中所有文件和子文件中所有文件和子文件夹夹的名称集合。的名称集合。的名称集合。的名称集合。GetLogicalDrives() GetLogicalDrives() 检检索格式索格式索格式索格式为为“ “:”:”的的的的逻辑驱动逻辑驱动器的名称。器的名称。器的名称。器的名称。GetParent()
8、GetParent() 检检索指定路径的父文件索指定路径的父文件索指定路径的父文件索指定路径的父文件夹夹,包括,包括,包括,包括绝对绝对路径和相路径和相路径和相路径和相对对路径。路径。路径。路径。Move() Move() 将文件或文件将文件或文件将文件或文件将文件或文件夹夹及其内容移到新位置。及其内容移到新位置。及其内容移到新位置。及其内容移到新位置。SetCurrentDirectory()SetCurrentDirectory()将将将将应应用程序的当前工作文件用程序的当前工作文件用程序的当前工作文件用程序的当前工作文件夹设夹设置置置置为为指定的文件指定的文件指定的文件指定的文件夹夹。对
9、目录的操作DirectoryDirectory类的常用方法类的常用方法7 7文件操作文件操作pptppt课件(全)课件(全) DirectoryInfo DirectoryInfo类常用方法表类常用方法表 Create()Create()创创建文件建文件建文件建文件夹夹。CreateSubdirectory ()CreateSubdirectory ()在指定路径中在指定路径中在指定路径中在指定路径中创创建一个或多个子文件建一个或多个子文件建一个或多个子文件建一个或多个子文件夹夹。Delete()Delete()删删除当前文件除当前文件除当前文件除当前文件夹夹。GetDirectories()
10、GetDirectories()返回当前文件返回当前文件返回当前文件返回当前文件夹夹的子文件的子文件的子文件的子文件夹夹。GetFiles()GetFiles()返回当前文件返回当前文件返回当前文件返回当前文件夹夹中所有文件的集合。中所有文件的集合。中所有文件的集合。中所有文件的集合。MoveTo()MoveTo()将当前文件将当前文件将当前文件将当前文件夹夹移移移移动动到新位置。到新位置。到新位置。到新位置。ToString()ToString()返回用返回用返回用返回用户户所所所所传递传递的原始路径。的原始路径。的原始路径。的原始路径。对目录的操作8 8文件操作文件操作pptppt课件(全
11、)课件(全)对目录的操作n nDirectory类的方法都是静态的,也就是说,这些方法可直接调用,并且所有的方法在执行时都将进行安全检查。n nDirectoryInfo类的方法是实例方法,使用前必须建立DirectoryInfo类的实例。 Directory.CreateDirectory(c:tempsub1); Directory.CreateDirectory(c:tempsub1); DirectoryInfo dtyInfo = new DirectoryInfo dtyInfo = new DirectoryInfo(c:tempsub1); DirectoryInfo(c:te
12、mpsub1); dtyInfo.Create(); dtyInfo.Create(); 9 9文件操作文件操作pptppt课件(全)课件(全)文件的操作n n文件的操作比文件夹操作更加频繁。ASP.NET 4.0中的File、FileInfo类提供用于创建、复制、删除、移动和打开文件的方法。n nFile类和FileInf类有些方法的功能相同,但File类中的方法都是静态方法,而FileInfo类中的方法都是实例方法。1010文件操作文件操作pptppt课件(全)课件(全)FileFile类常用方法类常用方法AppendAllTexAppendAllText()t()将指定的字符串追加到文件
13、中,如果文件不存在将指定的字符串追加到文件中,如果文件不存在将指定的字符串追加到文件中,如果文件不存在将指定的字符串追加到文件中,如果文件不存在则创则创建建建建该该文件。文件。文件。文件。AppendText()AppendText()创创建一个建一个建一个建一个StreamWriterStreamWriter,能将,能将,能将,能将UTF-8UTF-8编码编码文本追文本追文本追文本追加到加到加到加到现现有文件。有文件。有文件。有文件。Copy()Copy()复制文件。复制文件。复制文件。复制文件。Create()Create()在指定路径中在指定路径中在指定路径中在指定路径中创创建文件。建文
14、件。建文件。建文件。CreateText()CreateText()创创建或打开一个文件用于写入建或打开一个文件用于写入建或打开一个文件用于写入建或打开一个文件用于写入UTF-8UTF-8编码编码的文本。的文本。的文本。的文本。Delete()Delete()删删除文件。除文件。除文件。除文件。Exists()Exists()确定文件是否存在。确定文件是否存在。确定文件是否存在。确定文件是否存在。文件的操作1111文件操作文件操作pptppt课件(全)课件(全)FileFile类常用方法类常用方法GetCreationTime()GetCreationTime()返回文件或文件返回文件或文件返
15、回文件或文件返回文件或文件夹夹的的的的创创建日期和建日期和建日期和建日期和时间时间。GetLastAccessTime()GetLastAccessTime()返回上次返回上次返回上次返回上次访问访问文件或文件文件或文件文件或文件文件或文件夹夹的日期和的日期和的日期和的日期和时时间间。GetLastWriteTime()GetLastWriteTime()返回上次写入文件或文件返回上次写入文件或文件返回上次写入文件或文件返回上次写入文件或文件夹夹的日期和的日期和的日期和的日期和时时间间。Move()Move()移移移移动动文件。文件。文件。文件。Open()Open()打开指定路径上的打开指定
16、路径上的打开指定路径上的打开指定路径上的FileStreamFileStream。OpenRead()OpenRead()打开打开打开打开现现有文件以有文件以有文件以有文件以进进行行行行读读取。取。取。取。OpenText()OpenText()打开打开打开打开现现有有有有UTF-8UTF-8编码编码文本文件以文本文件以文本文件以文本文件以进进行行行行读读取。取。取。取。文件的操作1212文件操作文件操作pptppt课件(全)课件(全)FileFile类常用方法类常用方法 OpenWrite()OpenWrite()打开打开打开打开现现有文件并有文件并有文件并有文件并进进行写入。行写入。行写入
17、。行写入。ReadAllText()ReadAllText()打开一个文本文件,将文件的所有行打开一个文本文件,将文件的所有行打开一个文本文件,将文件的所有行打开一个文本文件,将文件的所有行读读入到一个字符串,入到一个字符串,入到一个字符串,入到一个字符串,然后关然后关然后关然后关闭该闭该文件。文件。文件。文件。Replace()Replace()使用其他文件的内容替使用其他文件的内容替使用其他文件的内容替使用其他文件的内容替换换指定文件的内容,指定文件的内容,指定文件的内容,指定文件的内容,这这一一一一过过程将程将程将程将删删除原始文件,并除原始文件,并除原始文件,并除原始文件,并创创建被替
18、建被替建被替建被替换换文件的文件的文件的文件的备备份。份。份。份。SetCreationTime()SetCreationTime()设设置文件的置文件的置文件的置文件的创创建日期和建日期和建日期和建日期和时间时间。SetLastAccessTime()SetLastAccessTime()设设置文件的上次置文件的上次置文件的上次置文件的上次访问访问日期和日期和日期和日期和时间时间。SetLastWriteTime()SetLastWriteTime()设设置文件的上次写入日期和置文件的上次写入日期和置文件的上次写入日期和置文件的上次写入日期和时间时间。WriteAllText()WriteA
19、llText()创创建一个新文件,在文件中写入内容,然后关建一个新文件,在文件中写入内容,然后关建一个新文件,在文件中写入内容,然后关建一个新文件,在文件中写入内容,然后关闭闭文件。如文件。如文件。如文件。如果目果目果目果目标标文件已存在,文件已存在,文件已存在,文件已存在,则则覆盖覆盖覆盖覆盖该该文件。文件。文件。文件。文件的操作1313文件操作文件操作pptppt课件(全)课件(全)FileInfoFileInfo类常用方法类常用方法AppendText()AppendText()创创建一个建一个建一个建一个StreamWriterStreamWriter,向文件追加文本。,向文件追加文本
20、。,向文件追加文本。,向文件追加文本。CopyTo()CopyTo()复制文件。复制文件。复制文件。复制文件。Create()Create()创创建文件。建文件。建文件。建文件。CreateText()CreateText()创创建写入新文本文件的建写入新文本文件的建写入新文本文件的建写入新文本文件的StreamWriterStreamWriter。Delete()Delete()删删除文件。除文件。除文件。除文件。MoveTo ()MoveTo ()将指定文件移到新位置,并提供指定新文件名的将指定文件移到新位置,并提供指定新文件名的将指定文件移到新位置,并提供指定新文件名的将指定文件移到新位
21、置,并提供指定新文件名的选项选项。文件的操作1414文件操作文件操作pptppt课件(全)课件(全)FileInfoFileInfo类常用方法类常用方法 Open()Open()用各种用各种用各种用各种读读/ /写写写写访问权访问权限和共享特限和共享特限和共享特限和共享特权权打开文件。打开文件。打开文件。打开文件。OpenRead()OpenRead()创创建只建只建只建只读读FileStreamFileStream。OpenText()OpenText()创创建使用建使用建使用建使用UTF-8UTF-8编码编码、从、从、从、从现现有文本文件中有文本文件中有文本文件中有文本文件中进进行行行行读
22、读取取取取的的的的StreamReaderStreamReader。OpenWrite()OpenWrite()创创建只写建只写建只写建只写FileStreamFileStream。Replace()Replace()使用当前文件替使用当前文件替使用当前文件替使用当前文件替换换指定文件的内容,指定文件的内容,指定文件的内容,指定文件的内容,这这一一一一过过程将程将程将程将删删除原始文件,并除原始文件,并除原始文件,并除原始文件,并创创建被替建被替建被替建被替换换文件的文件的文件的文件的备备份。份。份。份。ToString()ToString()以字符串形式返回路径。以字符串形式返回路径。以字符
23、串形式返回路径。以字符串形式返回路径。文件的操作1515文件操作文件操作pptppt课件(全)课件(全) 读写文件n n读写文件是Web应用程序中的一个重要操作。在保存程序的数据、动态生成网页或修改应用程序的配置信息等方面都需要读写文件。例如在大型的新闻发布系统中常根据数据库信息生成静态网页文件。n n在.NET Framework4.0中采用基于Stream类和Reader/Writer类读写I/O数据的通用模型,使得文件读写操作非常简单。1616文件操作文件操作pptppt课件(全)课件(全)读写文件n n在在.NET.NET中读写数据都使用数据流的形式实现。中读写数据都使用数据流的形式实
24、现。StreamStream类为类为I/OI/O数据读写提供了基本的功能。数据读写提供了基本的功能。n nStreamStream类是一个抽象类,所以要使用它的派生类类是一个抽象类,所以要使用它的派生类完成不同数据流的操作。例如完成不同数据流的操作。例如MemoryStreamMemoryStream类类实现内存操作,实现内存操作,FileStreamFileStream类实现文件操作等。类实现文件操作等。n nFileStreamFileStream类能完成对文件进行读取、写入、打开类能完成对文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄和关闭操作,并对其他与文件相关的
25、操作系统句柄进行操作,如管道、标准输入和标准输出等。读写进行操作,如管道、标准输入和标准输出等。读写操作可以指定为同步或异步操作,默认情况下以同操作可以指定为同步或异步操作,默认情况下以同步方式打开文件。步方式打开文件。1717文件操作文件操作pptppt课件(全)课件(全)读写文件n nFileStreamFileStream类的最常用构造函数类的最常用构造函数 使用指定的路径、文件模式、读使用指定的路径、文件模式、读/ /写权限和共享权限来创写权限和共享权限来创建建FileStreamFileStream类的实例。类的实例。 public FileStream(string path, p
26、ublic FileStream(string path,FileMode FileMode mode,FileAccess access,FileShare share) mode,FileAccess access,FileShare share) 1.path 1.path: 指定指定FileStreamFileStream对象将读取或写入文件的相对象将读取或写入文件的相对路径或绝对路径。对路径或绝对路径。 2. mode 2. mode:FileModeFileMode常数,确定如何打开或创建文件。常数,确定如何打开或创建文件。 如值如值OpenOpen表示打开文件,文件不存在则出错;
27、值表示打开文件,文件不存在则出错;值CreateCreate表示建立文件,将覆盖存在的文件;值表示建立文件,将覆盖存在的文件;值AppendAppend表示以添表示以添加方式打开存在的文件,如果文件不存在则创建文件。加方式打开存在的文件,如果文件不存在则创建文件。1818文件操作文件操作pptppt课件(全)课件(全)读写文件3.access3.access:FileAccessFileAccess常数,它确定常数,它确定FileStreamFileStream对象访问文件的方式。如值对象访问文件的方式。如值ReadRead表示对象可读;表示对象可读;值值WriteWrite表示对象可写;值表
28、示对象可写;值ReadWriteReadWrite表示对象表示对象可读写。可读写。4.share4.share:FileShareFileShare常数,确定文件如何由进程共常数,确定文件如何由进程共享。如值享。如值NoneNone表示不允许共享文件;表示不允许共享文件; 值值WriteWrite、ReadRead、ReadWriteReadWrite、DeleteDelete依次表示随后可以依次表示随后可以读、写、读写、删除文件。读、写、读写、删除文件。 1919文件操作文件操作pptppt课件(全)课件(全)读写文件n nFileStream类的常用属性:CanReadCanRead:当前
29、数据流是否支持读取。:当前数据流是否支持读取。CanWriteCanWrite:当前数据流是否支持写入。:当前数据流是否支持写入。LengthLength:数据流长度(用字节表示)。:数据流长度(用字节表示)。NameName:获取传递给构造函数的:获取传递给构造函数的FileStreaFileStrea的名称。的名称。ReadTimeoutReadTimeout:获取或设置一个值(以毫秒为单位),确定:获取或设置一个值(以毫秒为单位),确定数据流在超时前尝试的读取时间。数据流在超时前尝试的读取时间。 WriteTimeoutWriteTimeout:获取或设置一个值(以毫秒为单位),确定:获
30、取或设置一个值(以毫秒为单位),确定数据流在超时前尝试的写入时间。数据流在超时前尝试的写入时间。 2020文件操作文件操作pptppt课件(全)课件(全)读写文件n nFileStreamFileStream类的常用方法类的常用方法1.BeginRead()1.BeginRead():开始异步读。:开始异步读。2.BeginWrite()2.BeginWrite():开始异步写。:开始异步写。3.Close()3.Close():关闭当前数据流并释放与之关联的所有资源。:关闭当前数据流并释放与之关联的所有资源。4.EndRead()4.EndRead():等待挂起的异步读取完成。:等待挂起的异
31、步读取完成。5.EndWrite()5.EndWrite():结束异步写入。:结束异步写入。6.Flush()6.Flush():将缓冲区中数据流数据写入文件,然后清除缓:将缓冲区中数据流数据写入文件,然后清除缓冲区中的数据。冲区中的数据。2121文件操作文件操作pptppt课件(全)课件(全)读写文件n nFileStream类的常用方法7. Lock():7. Lock():允许读取访问的同时防止其他进程更改允许读取访问的同时防止其他进程更改FileStreamFileStream。8. Read():8. Read():从数据流中读取字节块并将该数据写入从数据流中读取字节块并将该数据写入
32、给定缓冲区中。给定缓冲区中。9. ReadByte():9. ReadByte():从文件中读取一个字节从文件中读取一个字节, ,并将读取并将读取位置偏移一个字节。位置偏移一个字节。10.Unlock():10.Unlock():允许其他进程访问以前锁定的某个文允许其他进程访问以前锁定的某个文件的全部或部分。件的全部或部分。2222文件操作文件操作pptppt课件(全)课件(全)读写文件n nFileStream类的常用方法11.Write():11.Write():将缓冲区读取的数据写入数据流。将缓冲区读取的数据写入数据流。12.WriteByte():12.WriteByte():将一个字
33、节写入文件流的当前位置。将一个字节写入文件流的当前位置。13.Seek ():13.Seek ():将该流的当前位置设置为给定值的方法。随机将该流的当前位置设置为给定值的方法。随机访问文件或跳到文件的指定位置访问文件或跳到文件的指定位置注意:注意:Read()Read()和和Write()Write()实现对文件的同步读写操作。而实现对文件的同步读写操作。而BeginRead()BeginRead()、EndRead()EndRead()方法和方法和BeginWrite()BeginWrite()、EndWrite()EndWrite()方法实现对文件的异步读写操作。当异步写文方法实现对文件的
34、异步读写操作。当异步写文件时需要利用件时需要利用Lock()Lock()、UnLock()UnLock()方法解决文件共享冲突问方法解决文件共享冲突问题。题。2323文件操作文件操作pptppt课件(全)课件(全)读写文件n n在.NET4.0框架中提供了StreamWrite类和StreamReader类专门用于处理文本文件。n n操作二进制的数据比较繁琐,使得FileStream的使用相对困难,而使用StreamWrite和StreamReader对象却能够很方便的顺序访问整个文件。 n n缺点是不能改变文件指针的位置,无法实现对文件的随机访问。2424文件操作文件操作pptppt课件(全
35、)课件(全)读写文件n nStreamWriteStreamWrite类允许将字符和字符串写入到文件类允许将字符和字符串写入到文件中。中。n n创建创建StreamWriteStreamWrite对象不会提供一组类似的选项,对象不会提供一组类似的选项,除了使用布尔值时只是添加到文件的末尾或创建除了使用布尔值时只是添加到文件的末尾或创建新文件之外,不像新文件之外,不像FileStreamFileStream类那样指定类那样指定FileModeFileMode、FileAccessFileAccess等属性的选项。等属性的选项。 n nStreamWriteStreamWrite对象提供了二个用于
36、写入数据的方对象提供了二个用于写入数据的方法法WriteWrite和和WriteLine.WriteLine.这二个方法有许多的这二个方法有许多的重载版本,可以完成高级的文件输出。重载版本,可以完成高级的文件输出。WriteWrite方法方法和和WriteLineWriteLine方法基本上相同,不同的是方法基本上相同,不同的是WriteLineWriteLine方法在将传送给它的数据输出后,在方法在将传送给它的数据输出后,在输入一个换行符。输入一个换行符。 2525文件操作文件操作pptppt课件(全)课件(全)读写文件n nStreamReaderStreamReader类的工作方式与类的工作方式与StreamWriteStreamWrite类似,但类似,但StreamReaderStreamReader是用于从文件或另一个流中读取数据。是用于从文件或另一个流中读取数据。 n nStreamReaderStreamReader类中提供了常用的几个方法用于读取文类中提供了常用的几个方法用于读取文件的数据。件的数据。 2626文件操作文件操作pptppt课件(全)课件(全)