2017-06-16 70 views
0

我想使用ZipArchiveMode壓縮幾個文件。這些文件位於不同的目錄中。ZipArchiveMode保持文件夾完整性

zipFile.CreateEntryFromFile(file, Path.GetFileName(file), compression); 

我打電話給每個文件。

有沒有辦法在文件中保持文件夾的完整性,以便它解壓縮到正確的文件夾?

如果沒有,我還有其他壓縮文件的選項嗎?

謝謝

回答

1

而不是僅僅Path.GetFileName(file),使用任何該文件的全名的部分是適合您的應用程序。像這樣的東西可能會工作:

FileInfo fi = new FileInfo(file); 
string path = fi.Directory.Parent + "\\" + fi.Name; 
+0

Ty爲迴應傑伊。這是有道理的,我認爲這是一個開關,但它存儲它是如何傳入的。感謝您的幫助! – SomeoneSpecial

+0

您的fi.Parent不正確。我相信你的意思是'fi.Directory.Parent'。即使如此,如果你的文件夾很深,你的文件夾最終會不正確。我結束了'var newpath = file.Substring(3,file.Length - 3);'去除'c:\'並且工作。謝謝您的幫助。 – SomeoneSpecial

+0

是的,它應該是'.Directory.Parent',對此很抱歉。至於路徑,是的使用路徑相對於你的出發點。 –