为了账号安全,请及时绑定邮箱和手机立即绑定

如何轻松检查.NET中的文件是否被拒绝访问?

如何轻松检查.NET中的文件是否被拒绝访问?

慕容3067478 2019-07-09 13:33:59
如何轻松检查.NET中的文件是否被拒绝访问?基本上,在实际尝试打开文件之前,我想检查是否有权打开该文件;除非有必要,否则我不想使用try/catch来进行检查。是否有一个文件访问属性,我可以检查前手?
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

我在过去做过无数次,几乎每次我都做错了,甚至尝试都是错误的。

文件权限(甚至文件存在)是易挥发-他们可以随时改变。多亏了墨菲定律特别是包括从检查文件时到尝试打开文件之间的短暂时间。如果您所处的区域需要首先检查,则更改的可能性更大。然而,奇怪的是,它永远不会发生在您的测试或开发环境中,而这些环境往往是相当静态的。这使得以后很难追踪到这个问题,也使得这类bug很容易进入生产。

这意味着,尽管进行了检查,如果文件权限或存在性很差,您仍然必须能够处理异常。异常处理代码是所需,是否预先检查文件的权限。异常处理代码提供存在的功能或权限检查。此外,虽然像这样的异常处理程序被认为是缓慢的,但重要的是要记住磁盘I/O甚至更慢.一个罗得慢点.。调用.exist()函数或检查权限将强制将文件系统删除。

总之,在尝试打开文件之前进行一次初始检查是多余的,也是浪费的。异常处理没有额外的好处,它实际上会损害,而不是帮助您的性能,它增加了成本,在更多的代码,必须维护,它可以引入微妙的bug到您的代码。做最初的检查根本没有好处。相反,这里正确的做法是尝试打开文件,并在失败时将您的精力投入到一个很好的异常处理程序中。即使您只是检查文件是否存在,也是如此。这个推理适用于任何不稳定的资源。


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 573 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信