這篇文章主要介紹了C#刪除只讀文件或文件夾(解決File.Delete無法刪除文件),需要的朋友可以參考下
C#刪除只讀文件的方法:
- if (File.GetAttributes(FFName).ToString().IndexOf("ReadOnly") != -1)
- File.SetAttributes(FFName, FileAttributes.Normal);
- File.Delete(FFName);//不能刪除只讀文件
C#刪除只讀文件夾的方法:
只讀文件夾刪除需要先刪除文件夾內(nèi)的文件,然后在使用刪除文件夾才能成功,否則將會(huì)報(bào)沒有權(quán)限訪問。
下面是遍歷刪除文件夾代碼
- /// <summary>
- /// 用來遍歷刪除目錄下的文件以及該文件夾
- /// </summary>
- public void DeleteFileByDirectory(DirectoryInfo info)
- {
- foreach (DirectoryInfo newInfo in info.GetDirectories())
- {
- DeleteFileByDirectory(newInfo);
- }
- foreach (FileInfo newInfo in info.GetFiles())
- {
- newInfo.Attributes = newInfo.Attributes &~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden);
- newInfo.Delete();
- }
- info.Attributes = info.Attributes & ~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden);
- info.Delete();
- }
另外說明:
在操作文件夾時(shí)候,在沒有刪除文件夾里面文件時(shí)候貌似對文件夾設(shè)置FileAttributes是沒有效果,只有文件全部刪除后才能設(shè)置文件夾屬性。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注