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

时间:2015-10-17 07:46:42

标签: vb.net desktop-application

您好我在开始时成功使用了代码,但我不知道我做了什么,所以它停止在文件夹MessageIO.dat下创建文件(ProgramFiles)\UniWin Activator Data

我使用了这段代码:(结果:仅创建文件夹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)

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

2 个答案:

答案 0 :(得分:0)

组合路径时,不应指定" \" char在第二个路径项的开头,因为这将意味着根路径! 例如,Path.Combine(" D:\ Folder1"," \ MessageIO.dat")将导致" \ MessageIO.dat"。但你必须编写Path.Combine(" D:\ Folder1"," MessageIO.dat"),它将返回" D:\ Folder1 \ MessageIO.dat"

注意:在Windows 7或更高版本中,访问特殊文件夹(如Program Files)需要特殊权限!检查您的应用是否拥有此类权限。 (您可以先测试其他诺曼文件夹以确保代码的其他部分正常)

答案 1 :(得分:0)

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