VB.NET%appdata%路径访问被拒绝

时间:2017-01-26 18:22:42

标签: vb.net

我想在用户的%appdata%文件夹中创建一个文件夹,它确实创建了,但它无法在文件夹中写入文件,它说"访问被拒绝",我用Google搜索了它,但没有任何对我有用。

Dim SpecialAppData As String = GetFolderPath(Environment.SpecialFolder.ApplicationData)
        Dim CLOUDSAVEDFILESCFG As String = SpecialAppData & "\da_dev\clientsettings\cloud\"
        If System.IO.Directory.Exists(SpecialAppData & "\da_dev\clientsettings\cloud\") Then

        Else
            System.IO.Directory.CreateDirectory(SpecialAppData & "\da_dev\clientsettings\cloud\")
        End If
        timeout(0.5)
        Dim objWriterCSF As New System.IO.StreamWriter(CLOUDSAVEDFILESCFG)
        TextBox1.Text = My.Settings.username
        TextBox2.Text = My.Settings.password
        If My.Computer.FileSystem.FileExists(SpecialAppData & "\da_dev\clientsettings\cloud\" & "files.cfg") Then

        Else
            objWriterCSF.Write("0")
            objWriterCSF.Close()
        End If

错误是:

picture_of_error

编辑:

我注意到图片说它无法找到路径,我修复了这个问题,但现在我遇到了问题:

pic

3 个答案:

答案 0 :(得分:3)

您无法“打开文件”实际上是一个目录。

Dim CLOUDSAVEDFILESCFG As String = SpecialAppData & "\da_dev\clientsettings\cloud\"

CLOUDSAVEDFILESCFG指向目录。

答案 1 :(得分:0)

此处的错误不是访问被拒绝,而是该目录不存在。在尝试在其中创建文件之前,您可以使用Directory.CreateDirectory(Path.GetDirectoryName(CLOUDSAVEFILESCFG))来确保该目录存在。

答案 2 :(得分:0)

解决:

忘记在CLOUDSAVEDFILESCFG后面添加一个文件...

像这样:

Dim objWriterCSF As New System.IO.StreamWriter(CLOUDSAVEDFILESCFG & "\files.cfg")