2

我正在尝试使用以下代码保存列表视图框的内容

Dim W As IO.StreamWriter
Private Sub Button6_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    Dim i As Integer
    W = New IO.StreamWriter("c:\" & "sname" & ".txt")
    For i = 0 To ListView1.Items.Count - 1
        W.WriteLine(ListView1.Items(i))
    Next
    W.Close()
End Sub

当我尝试运行该应用程序时,它显示的代码如下:Access to the path 'c:\sname.txt' is denied.

任何帮助表示赞赏。

4

3 回答 3

1

在 Windows Vista、7、8 下,根路径C:受管理员用户保护UAC并且只能由管理员用户以写入方式访问;您必须以管理员身份运行程序或使用其他路径(例如询问它或 %temp%)。

于 2013-05-18T16:47:43.857 回答
1

由于用户访问控制,您实际上无法直接在 C 驱动器下创建任何 .txt 文件,正如所有其他用户所述。

您可以做的是您可以在 C 驱动器中创建一个文件夹并将您的 .txt 文件保存在其中。

Dim W As IO.StreamWriter
Private Sub Button6_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    Dim i As Integer
    W = New IO.StreamWriter("c:\SomeFolderName" & "sname" & ".txt")
    For i = 0 To ListView1.Items.Count - 1
        W.WriteLine(ListView1.Items(i))
    Next
    W.Close()
End Sub
于 2013-05-18T18:18:20.047 回答
0

由于 UAC 问题,您无法在磁盘的根目录中创建文件(在本例中为 c:),只有管理员用户可以写入文件。您应该以管理员权限运行 .exe 或将文件保存在其他位置。

最后,StreamWriter在完成写入文件后关闭您的文件。

于 2013-05-18T16:45:42.260 回答