最近在用 C# 寫程式,處理到解壓縮的部份,雖然它有很方便的方法
ZipFile.ExtractToDirectory(壓縮檔, 目的目錄);
不過實測後,發現一個問題,若目的已有相同的檔案,則會産生錯誤,所以要自行解決這個問題。
我原本想過三個方法。
第一個是先解壓縮在其它目錄,再全部移到指定的目錄,但缺點是可能會佔用太多空間。如果原本的檔案就很大,要解開的檔案也很大,硬碟空間不夠的情況,解壓縮就會失敗,所以這個方法就先放棄了。
第二個方去是先逐一檢查檔案是否存在,存在就先刪除。如此一來,先把舊檔案刪掉,空間就會多一點,比較不擔心空間不夠的問題,最後再用 ZipFile.ExtractToDirectory 解壓縮至指定目錄。
第三個方法同上,只是突然想到,乾脆在檢查是否存在之後,就直接解壓縮該檔案,不用等到最後再全部解壓縮。