保存到文本,接收错误消息

时间:2013-05-18 16:34:50

标签: vb.net

我正在尝试使用以下代码保存listview框的内容

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.

任何帮助表示感谢。

3 个答案:

答案 0 :(得分:1)

在Windows Vista,7,8下,根路径C:UAC保护,只有管理员用户可以访问;您必须以管理员身份运行程序或使用其他路径(例如询问它或%temp%)。

答案 1 :(得分: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

答案 2 :(得分:0)

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

最后,写完文件后关闭StreamWriter