专栏首页林德熙的博客dotnet 删除只读文件

dotnet 删除只读文件

如果直接通过 File.Delete 删除只读文件会出现没有权限提示,可以先设置文件不是只读然后删除文件

            try
            {
                File.Delete(file);
            }
            catch (UnauthorizedAccessException)
            {
                File.SetAttributes(file, FileAttributes.Normal);
                File.Delete(file);
            }

上面的代码是先尝试删除文件,删除失败再设置文件不是只读,然后尝试删除文件

为什么需要先尝试删除,原因是如果要删除一个文件之前还尝试去修改他,那么性能不好。

在 Try 里面如果没有出现异常,那么进入 Try 的代码和没有进入 Try 一样的速度


本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/dotnet-%E5%88%A0%E9%99%A4%E5%8F%AA%E8%AF%BB%E6%96%87%E4%BB%B6.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • dotnet core 添加 SublimeText 编译插件

    因为 SublimeText 有很多插件都是使用 Py 写的,而我想使用 dotnet core 给 SublimeText 写一个编译插件,也就是在我使用 M...

    林德熙
  • dotnet 入门到放弃 使用 .NET Core 卸载工具

    我从 dotnet core 1 的版本到 3.1 的版本,中间安装了超级多的预览版,此时我的硬盘已经空间不够了。干的漂亮的 dotnet 提供了 .NET C...

    林德熙
  • C# 简单读取文件

    如果有找到比我上面代码更少的方法请告诉我,这里不用安装第三方的库,是在快速创建新的项目进行测试

    林德熙
  • CTF中常遇到的图片隐写

    文件格式:对于PNG文件来说,其文件头总是由固定的字节来描述的,剩余的部分由3个以上的PNG数据(Chunk)按照特定的顺序组成。

    yichen
  • 如何给10^7个数据量的磁盘文件排序

    第一节、如何给磁盘文件排序 问题描述: 输入:一个最多含有n个不重复的正整数(也就是说可能含有少于n个不重复正整数)的文件,其中每个数都小于等于n,且n=...

    bear_fish
  • Java IO 操作基础1---普通文件的相关操作

    Java 中 IO 操作是 Java 的一个重要组成部分,这里总结一下 Java 中的 IO 的基础操作。

    指点
  • ​LeetCode 21:合并两个有序链表 Merge Two Sorted Lists

    将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

    爱写bug
  • LeetCode 21:合并两个有序链表 Merge Two Sorted Lists

    将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

    爱写bug
  • 下一个视觉「杀手级应用」来了,依图行人重识别ReID性能创纪录

    对于这个问题,业界似乎早已有了共识。从 AI 的人脸识别能力超越人类以来,学术界和产业界的目光逐渐转向另一个更具科研意义和应用价值的课题——行人重识别(Pers...

    机器之心
  • RocketMQ 源码分析 —— Message 发送与接收

    芋道源码

扫码关注云+社区

领取腾讯云代金券