【发布时间】:2012-08-08 14:15:38
【问题描述】:
我的程序在windows系统路径下写入一些文件(C:\windows\syswow64...)。
其中一个文件因测试原因被删除,我们正在更改某些内容,需要将其删除。好的,这里没有问题,文件不见了(几乎......)。 问题是,我的应用程序仍在获取文件!很好玩,因为我真的删除了文件(shift+del)
我用 FileInfo 类测试文件是否存在。
我要疯了。我看不出哪里错了。 当然,在文件夹选项中启用以查看隐藏和系统文件...
谢谢
我的代码如下:
Public Shared Function GetUserConfigFile() As String
Dim UserConfigFile As String = Metodos.GetUserConfigPath("config.gf")
'Above we have C:\Windows\SysWOW64\Microsoft\....\config.gf
Dim ConfigFile As New IO.FileInfo(UserConfigFile)
ConfigFile.Refresh()
EventLog.RegisterDebugMessage("ConfigFile.Exists:{0};ConfigFile.Length:{1}", ConfigFile.Exists, ConfigFile.Length)
If ((ConfigFile.Exists AndAlso ConfigFile.Length = 0) OrElse Not ConfigFile.Exists) Then
Dim config As StreamWriter = IO.File.CreateText(UserConfigFile)
config.WriteLine("<?xml version=""1.0""?><cnfg></cnfg> ")
config.Close()
config.Dispose()
End If
EventLog.RegisterDebugMessage("config.gf -> {0}", IO.File.ReadAllText(UserConfigFile))
'''''''''''And here it's show me the content of the file... -.-''''''
Return UserConfigFile
End Function
【问题讨论】:
-
你确定你在同一条路径上工作吗?
-
你现在真的不应该在任何系统目录中写入文件。
-
是的...我之前考虑过这个...因为我们可以将此文件放在 SysWOW64 或 System32 上...我都尝试了,但没有成功。我需要在那里写我的文件。
-
您是否尝试过在调试器中检查
UserConfigFile是否包含您期望的路径?此外,用户配置文件通常不会进入系统目录。 -
是的。与我正在寻找的路径相同。我知道这不是最好的地方,但我需要它。我无法改变它。我只是试图将文件复制到指定的路径,你想知道吗?它是。我很确定这是小问题,但我看不到。
标签: c# vb.net explorer fileinfo hidden-files