.NET Framework 文件 I/O 和文件系统的基础知识 (Visual Basic)

命名空间中的 System.IO 类用于处理驱动器、文件和目录。

命名空间System.IO包含FileDirectory类,它们提供用于操作文件和目录的 .NET Framework 功能。 由于这些对象的方法是静态成员或共享成员,因此可以直接使用这些对象,而无需先创建类的实例。 与这些类相关联的是FileInfo类和DirectoryInfo类,这些类对使用My功能的用户来说是熟悉的。 若要使用这些类,必须完全限定名称或导入适当的命名空间,方法是在受影响的代码的开头包括 Imports 语句。 有关详细信息,请参阅 Imports 语句(.NET 命名空间和类型)

注释

本节中的其他主题使用 My.Computer.FileSystem 对象而不是 System.IO 类来处理驱动器、文件和目录。 该 My.Computer.FileSystem 对象主要用于 Visual Basic 程序。 System.IO 类旨在供支持 .NET Framework 的任何语言(包括 Visual Basic)使用。

流的定义

.NET Framework 使用流来支持从文件读取和写入文件。 可以将流视为一维连续数据集,该数据具有起点和结尾,游标指示流中的当前位置。

光标显示文件流中的当前位置。

流操作

流中包含的数据可能来自内存、文件或 TCP/IP 套接字。 流具有可应用于它们的基本操作:

  • 正在读取。 可以从流中读取数据,将数据从流传输到数据结构,例如字符串或字节数组。

  • 写作。 可以写入流,将数据从数据源传输到流中。

  • 查找。 您可以查询和修改您在流中的位置。

有关详细信息,请参阅 组合流

流类型

在 .NET Framework 中,流由 Stream 类表示,该类构成所有其他流的抽象类。 不能直接创建类的 Stream 实例,但必须使用它实现的类之一。

有许多类型的流,但为了处理文件输入/输出(I/O),最重要的类型是 FileStream 类,它提供了一种读取和写入文件的方法,类 IsolatedStorageFileStream 提供了在隔离存储中创建文件和目录的方法。 处理文件 I/O 时可以使用的其他流包括:

下表列出了通常通过流完成的任务:

请参阅
读取和写入数据文件 如何:读取和写入新创建的数据文件
从文件读取文本 如何:从文件读取文本
将文本写入文件 如何:将文本写入文件
从字符串读取字符 如何:从字符串读取字符
将字符写入字符串 如何:将字符写入字符串
加密数据 加密数据
解密数据 解密数据

文件访问和属性

您可以通过FileAccessFileModeFileShare枚举控制文件的创建、打开和共享方式,这些枚举包含FileStream类构造函数使用的标志。 例如,打开或新建 FileStream 时,FileMode 枚举允许指定是否打开文件供追加用、如果指定的文件不存在是否创建新文件、是否覆盖文件等。

FileAttributes 枚举可启用特定于文件的信息收集。 FileAttributes枚举返回文件的存储属性,例如是压缩、加密、隐藏、只读、存档、目录、系统文件还是临时文件。

下表列出了涉及文件访问和文件属性的任务:

请参阅
打开文本并将其追加到日志文件 如何:打开日志文件并将其追加到日志文件
确定文件的属性 FileAttributes

文件权限

可以使用 FileIOPermission 类控制对文件和目录的访问。 对于使用 Web 窗体的开发人员来说,这可能特别重要,该表单默认在名为 ASPNET 的特殊本地用户帐户的上下文中运行,该帐户是在 ASP.NET 和 .NET Framework 安装的一部分创建的。 当此类应用程序请求访问资源时,ASPNET 用户帐户的权限有限,这可能会阻止用户执行作,例如从 Web 应用程序写入文件。 有关详细信息,请参阅 FileIOPermission

独立文件存储

独立存储旨在解决因用户或代码可能缺少必要权限而在处理文件时产生的问题。 独立存储为每个用户分配一个数据隔间,该数据隔间可以容纳一个或多个存储。 可以按用户和程序集使存储区彼此独立。 只有创建存储的用户和程序集才有权访问它。 商店充当一个完整的虚拟文件系统——在一个商店中,可以创建和操作目录和文件。

下表列出了通常与独立文件存储关联的任务。

请参阅
创建独立存储 如何:获取独立存储区
枚举独立存储区 如何:枚举独立存储的存储区
删除独立商店 如何:删除独立存储中的存储
在独立存储中创建文件或目录 如何:在独立存储中创建文件和目录
在独立存储中查找文件 如何:在独立存储中查找现有文件和目录
从独立存储中读取或写入文件 如何:读取和写入独立存储中的文件
删除独立存储中的文件或目录 如何:删除独立存储中的文件和目录

文件事件

FileSystemWatcher 组件允许你监视系统上的文件和目录或你有权访问网络的任何计算机上的更改。 例如,如果修改了文件,则可能需要向用户发送更改已发生的警报。 发生更改时,会引发一个或多个事件,存储在缓冲区中,并交给 FileSystemWatcher 组件进行处理。

另请参阅