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

更新:2007 年 11 月

通过 My.Computer.FileSystem.SpecialDirectories 对象可以访问一些特殊目录,如“我的文档”目录。

过程

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

  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 窗体控件(如可将用户选择项限制为有效文件名的 OpenFileDialog 组件和 SaveFileDialog 组件),可以减少发生异常的可能性。但是,使用这些控件并不能杜绝出错。在用户选择文件以及代码执行这两个时刻之间,文件系统可能会改变。因此在处理文件时,几乎总是需要处理异常。

安全性

如果在部分信任的上下文中运行,则代码可能会因特权不足而引发一个异常。有关更多信息,请参见代码访问安全性基础知识

此示例创建一个新文件。如果应用程序需要创建文件,则该应用程序需要文件夹的“创建”权限。权限是使用访问控制列表设置的。如果该文件已经存在,则应用程序仅需要“写入”权限(它是一个权限较弱的特权)。为更加安全起见,应尽可能在部署过程中创建文件,并且只授予对单个文件的“读取”特权,而不是授予文件夹的“创建”特权。而且,更为安全的方法是将数据写入用户文件夹,而不是写入根文件夹或“Program Files”文件夹。有关更多信息,请参见访问控制列表 (ACL)

请参见

参考

Path.Combine

My.Computer 对象

My.Computer.FileSystem 对象

My.Computer.FileSystem.WriteAllText 方法

My.Computer.FileSystem.SpecialDirectories 对象