【发布时间】:2009-05-14 11:59:00
【问题描述】:
让我换个说法。我的例子可能不太好。 删除目录时,很多事情都可能出错。文件具有只读属性集,该目录由 Windows 资源管理器打开。 我想所有这些都可以处理 - 但是我不想自己做 - 是否有一个包装器可以用一个简单的 api 来处理它?
我发现 System.IO 中的文件系统操作不足。例如,如果在文本编辑器中打开文件,则无法保存文件。
我想知道.net 是否有更强大的文件系统实现?
【问题讨论】:
让我换个说法。我的例子可能不太好。 删除目录时,很多事情都可能出错。文件具有只读属性集,该目录由 Windows 资源管理器打开。 我想所有这些都可以处理 - 但是我不想自己做 - 是否有一个包装器可以用一个简单的 api 来处理它?
我发现 System.IO 中的文件系统操作不足。例如,如果在文本编辑器中打开文件,则无法保存文件。
我想知道.net 是否有更强大的文件系统实现?
【问题讨论】:
哪个文本编辑器?您如何打开文件进行写入?我一直写日志文件,没有这个问题。
出于这个原因放弃 System.IO 似乎有点轻率。
【讨论】:
不管你用什么,你都不能写入被锁定的文件。
这不是 .NET 框架的限制,这是文件系统的工作方式。
【讨论】:
几乎所有的 System.IO 调用都只是 kernel32.dll 的包装。发送的枚举类似于来自 pinvoked kernel32 的枚举,因此:
System.IO.File.Create(@"C:\test.txt",1024,FileOptions.Asynchronous)
使用FileStream,使用kernel32的WriteFile
【讨论】: