File.Create(路径)错误 VB.NET

File.Create(path) error VB.NET

嗨,我一开始就成功地使用了下面的代码,但我不知道我做了什么所以它停止在文件夹 (ProgramFiles)\UniWin Activator Data

下创建文件 MessageIO.dat

我使用了这段代码:(结果:只创建了文件夹 UniWin Activator Data

Dim UniWinPath As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "UniWin Activator Data")
Directory.CreateDirectory(UniWinPath)

Dim MsgIO = Path.Combine(UniWinPath, "\MessageIO.dat")
File.Create(MsgIO)

并使用了这个:(结果:命令 File.Create 出错)

Dim UniWinPath As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "UniWin Activator Data\MessageIO.dat")
File.Create(UniWinPath)

并使用了这个:(结果:什么也没发生)

Dim UniWinPath As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "UniWin Activator Data")
Dim MsgIO = Path.Combine(UniWinPath, "\MessageIO.dat")
File.Create(MsgIO)

创建该文件的方法是什么? (我已经有管理员权限了)

组合路径时,不应在第二个路径项的开头指定“\”字符,因为这表示根路径! 例如,Path.Combine("D:\Folder1", "\MessageIO.dat") 将得到 "\MessageIO.dat"。但是你必须写 Path.Combine("D:\Folder1", "MessageIO.dat") 这将 return "D:\Folder1\MessageIO.dat"

注意:在windows 7 或更高版本中,访问程序文件等特殊文件夹需要特殊权限!检查您的应用程序是否具有此类权限。 (您可以先测试其他 norman 文件夹,以确保您的代码的其他部分没问题)

您的第一个代码非常好。只需将 Dim MsgIO = Path.Combine(UniWinPath, "\MessageIO.dat") 更改为 Dim MsgIO = Path.Combine(UniWinPath, "MessageIO.dat")。 (删除反斜杠)。 Path.Combine自动加一。和往常一样,要访问特殊目录,请确保您拥有管理员权限。最后两个代码不起作用的原因是 File.Create 在现有目录中创建了一个文件。它不能自己创建目录。