2011-05-21 52 views
3

我一直在玩一個應用程序,我想添加壓縮目錄和它的孩子的能力。我發現在這裏經常提到的CocoaDev類別,但最終在Molecules的類別中放置。我的問題是壓縮類別更少,更多的是將目錄轉換爲有效的NSData對象。我希望人們能夠用那裏的任何應用程序壓縮文件。我查看了NSFileManager並序列化了目錄內容並對其進行了壓縮,但是我懷疑這會阻止檔案被放棄。如何壓縮NSData類別的目錄?

我哪裏錯了? NSData不足夠嗎?

+0

不確定爲什麼要涉及nsdata – 2011-05-22 05:28:26

+0

和類別,爲什麼不只是tar和gzip或類似 – 2011-05-22 05:29:22

+0

我想避免使用NSTask來運行另一個應用程序來執行壓縮。我對Objective-C/Cocoa開發比較陌生,看到應用程序調用外部程序很常見嗎? – doomspork 2011-05-22 13:23:22

回答

1

聽起來像zip -r (more arguments here)可能適合你。

+0

你是否建議我通過NSTask使用zip? – doomspork 2011-05-22 13:19:41

+0

@Doomspork使用NSTask是調用'zip'的一種方法。 *我想避免使用NSTask來運行另一個應用程序來執行壓縮。我相對較新的Objective-C/Cocoa開發* - 不用擔心重新創建此功能。使用運行良好的東西,並且非常兼容。假設它適合您的需求,您將使用zip節省大量時間。 (cont) – justin 2011-05-22 20:18:41

+0

(續)*看到應用程序調用外部程序很常見嗎?* - 這取決於程序和正在執行的內容。通過這個問題來判斷:它發生得比您想象的要多得多。如果您正在開發軟件:編譯器,彙編器,鏈接器,make,您的scm系統以及大量其他進程都是外部的(大多數情況下)。外部進程在其他應用程序中也很常見。 – justin 2011-05-22 20:19:15