您可以編程方式創建zip文件,並從Java讀取zip文件,無需將其公開爲常規.zip文件。
參見:java.io.zip pacakge獲取更多信息,並these別人的代碼示例如何read/write拉鍊用java上。
現在,如果您想阻止用戶解壓縮此文件,但您不希望通過加密內容或創建複雜格式來使您的生活複雜化,則可以模擬簡單的Internet消息格式,類似於一個用於電子郵件附加文件。
你可以閱讀更多有關Internet郵件格式here
這將是隻用於應用程序,以便你可以做你想把它當作簡單的自定義文件格式。你只需要定義你的格式。
這可能是:
- 頭與該軟件包的文件名(和數量)。
- 其次是分離的列表(例如
limit.a.txt=yadayada
一些標識知道你已經與該內容已完成)
- 實際內容
因此,您所創建的包的東西,如下列:
public void createBundle() {
ZipOutputStream out = ....
writeHeader(out);
writeLimits(out yourFiles);
for(File f : youFiles) {
writeFileTo(f, out);
}
out.close();
}
排序... ...
其結果將是有像一個壓縮文件:
filenames =a.jpg, b.xml, c.ser, d.properties, e.txt
limits.a.jpg =poiurqpoiurqpoeiruqeoiruqproi
limits.b.xml =faklsdjfñaljsdfñalksjdfa
limit.s.ser =sdf09asdf0as9dfasd09fasdfasdflkajsdfñlk
limit.d.properties =adfa0sd98fasdf90asdfaposdifasdfklasdfkñm
limit.e.txt =asdf9asdfaoisdfapsdfñlj
attachments=
<include binary data from a.jpg here>
--poiurqpoiurqpoeiruqeoiruqproi
<include binary data from b.xml here>
--faklsdjfñaljsdfñalksjdfa
等
既然是你可以把它儘可能簡單和你的生活無限時的複雜的文件格式。
如果您設法在您的應用中包含MIME庫,那可以爲您節省大量時間。
最後如果你想增加額外的安全性,你必須加密文件,這畢竟不是那麼難,問題是,如果你也發送加密代碼,你的用戶可能會好奇它並反編譯它們找出答案。但是一個好的加密機制會阻止這一點。
因此,根據您的需求,您可以從簡單的zip,帶自定義格式的zip,帶有複雜customformat的zip或帶有自定義複雜加密格式的zip。
因爲這是對廣大你可能會問這裏的特定部分:https://stackoverflow.com/questions/ask
將它的工作將它們打包成一個ZIP壓縮文件? (你不需要Java來做到這一點) – 2010-06-25 05:47:38
謝謝你們的回覆。 拉鍊可能能夠完成工作。但我希望它只能被程序讀取。 (你認爲把它變成一個zip文件,改變文件擴展名會有用,然後在閱讀時只是把它作爲一個zip文件來閱讀)我不希望用戶能夠直接看到內容。 Ill詳細說了一下它的遊戲,用戶可以使用xml文件,圖像等創建自己的內容。但是當用戶創建一些東西時,我不希望其他用戶能夠確切地看到它是如何創建的,只有最終的結果。 – Larry 2010-06-25 17:18:46