如何:在 Visual Basic 的“我的文档”目录中将文本写入文件

My.Computer.FileSystem.SpecialDirectories 对象允许访问特殊目录,例如 MyDocuments 目录。

程序

在“我的文档”目录中写入新的文本文件

  1. 使用 My.Computer.FileSystem.SpecialDirectories.MyDocuments 属性提供路径。

    Dim filePath As String
    filePath = System.IO.Path.Combine(
    My.Computer.FileSystem.SpecialDirectories.MyDocuments, "test.txt")
    
  2. WriteAllText使用该方法将文本写入指定文件。

    My.Computer.FileSystem.WriteAllText(filePath, "some text", True)
    

示例:

Try
    Dim filePath As String
    filePath = System.IO.Path.Combine(
               My.Computer.FileSystem.SpecialDirectories.MyDocuments, "test.txt")
    My.Computer.FileSystem.WriteAllText(filePath, "some text", False)
Catch fileException As Exception
    Throw fileException
End Try

编译代码

test.txt 替换为要写入的文件的名称。

可靠的编程

此代码将抛出向文件写入文本时可能发生的所有异常。 可以使用 Windows 窗体控件(如 OpenFileDialogSaveFileDialog 组件)来减少异常的可能性,这些组件将用户选择限制为有效文件名。 但是,使用这些控件并非万无一失。 文件系统可以在用户选择文件的时间与代码执行时间之间进行更改。 因此,在使用文件时,异常处理几乎始终是必需的。

.NET Framework 安全性

如果在部分信任上下文中运行,则代码可能会由于权限不足而引发异常。 有关详细信息,请参阅 代码访问安全基础知识

此示例创建一个新文件。 如果应用程序需要创建文件,则该应用程序需要文件夹的“创建”权限。 权限是使用访问控制列表设置的。 如果文件已存在,则应用程序只需写入权限,这是一种较低的权限。 如果可能,在部署期间创建文件更安全,并且只向单个文件授予读取权限,而不是授予文件夹的创建权限。 此外,将数据写入用户文件夹比根文件夹或 Program Files 文件夹更安全。 有关详细信息,请参阅 ACL 技术概述

另请参阅