已知目標檔案已存在(因為是已加載的驅動所以不可洗掉),使用ZipFile.ExtractToDirectory解壓欲覆寫時總是跳出錯誤如下,請問有辦法跳過這些檔案嗎?或者禁止這些錯誤資訊在CMD下面顯示。謝謝。
Write temp files to folder failed: System.IO.IOException: 檔案“C:\Users\fred\AppData\Local\Temp\Ng32B5s3ZjGOoo0KxkwWDQKK\GlFlash_v1.17.fl”已經存在。
在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
在 System.IO.Compression.ZipFileExtensions.ExtractToFile(ZipArchiveEntry source, String destinationFileName, Boolean overwrite)
在 System.IO.Compression.ZipFileExtensions.ExtractToDirectory(ZipArchive source, String destinationDirectoryName)
在 System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileName, String destinationDirectoryName, Encoding entryNameEncoding)
uj5u.com熱心網友回復:
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);uj5u.com熱心網友回復:
你查一查,我記得ZipFile有方法可以解壓時,略過指定的檔案不覆寫源檔案的。
uj5u.com熱心網友回復:
然而我在空間里面只看到這幾個方法,沒找到你提及的格式。。請問是什么原因呢。
namespace System.IO.Compression
{
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, Encoding entryNameEncoding);
}
uj5u.com熱心網友回復:
無奈新建了臨時檔案夾,然后fileCopy并用其overWrite開關達成了目標。uj5u.com熱心網友回復:
檔案已經存在,或者是目標的檔案系統區分大小寫,而windows不區分。而有兩個僅僅大小寫不同的同名檔案同時存在轉載請註明出處,本文鏈接:https://www.uj5u.com/net/21128.html
標籤:C#
