Dot-Net
System.IO.Compression.ZipFile UnauthorizedAccessException
我正在嘗試使用 .NET 4.5 ZipFile 類和 CreateFromDirectory(string, string) 方法備份一些文件。我收到 UnauthorizedAccessException - 拒絕訪問。我可以成功讀取該目錄中的所有文件以及將文件寫入該目錄。所以我認為權限設置正確。關於為什麼我在 ZipFile 類上被拒絕訪問的任何想法?
static void Main(string[] args) { string backupLocation = @"C:\Backups"; string directoriesToBackup = @"F:\myMedia\myPictures\Our Family\2012\Misc"; try { ZipFile.CreateFromDirectory(directoriesToBackup, backupLocation); } catch (System.UnauthorizedAccessException e) { Console.WriteLine(e.Message); } DirectoryInfo di = new DirectoryInfo(@"F:\myMedia\myPictures\Our Family\2012\Misc"); File.Create(@"F:\myMedia\myPictures\Our Family\2012\Misc\testCreateFromVs.txt"); foreach (FileInfo i in di.GetFiles()) { Console.WriteLine(i.Name); } Console.ReadKey(); }
看來你誤會了什麼。
backupLocation = @"C:\Backups";你想用一個文件覆蓋****目錄“C:\Backups” !這是不允許的!;-) (拒絕訪問)
您必須使用文件名指定路徑。
語法: CreateFromDirectory(string,string)
public static void CreateFromDirectory( string sourceDirectoryName, string destinationArchiveFileName )例子:
string startPath = @"c:\example\start"; string zipPath = @"c:\example\result.zip"; ZipFile.CreateFromDirectory(startPath, zipPath); [...]