2014-06-16 26 views
0

我有一個非常基本的或一般的問題,但我有一些問題,找到它的答案。我現在用的是System.IO.Compression來管理,這將是.zip文件類型投遞文件夾的文件。如何解開文件,並在打開過程中重命名所有打包的文件?我看到如何解壓它們,但如果我不能重命名它們,可能會破壞或覆蓋其他重複的文件。如何使用System.IO.Compression在解包過程中重命名文件?

是跟蹤您使用「項」的方法觸摸的文件,然後發送到一個臨時,然後重命名,並把他們在那裏它們被假設是唯一的出路?我會假設我可以在開幕過程中進行命名,而不需要額外的步驟。如果沒有,或者我錯過了一些東西,我爲這篇文章道歉。

回答

1

ZipArchiveEntry類有一個ExtractToFile(string destinationFileName)方法(嗯,它實際上是一個擴展方法),可以讓你保存到任何名稱的文件,而不僅僅是存儲在zip文件中的文件名。

這絕對會是更多的工作,因爲在將文件內容提取給它們之前,您必須自己創建子目錄,但是比一次提取整個歸檔文件給了您更多的控制權。

1

請參閱MSDN上的ZipFileExtraction條目。你可以通過虛假的overwrite參數,然後趕上IO異常,並相應地重命名文件。當然,IO異常可以被拋出在文章中指定的,所以你可以根據自己的使用情況來區分它們其他的原因。