8
A
回答
10
正如其他人指出的那樣,您可以使用ZipOutputStream
類創建ZIP文件。將多個文件放在一個ZIP文件中的技巧是在編寫(編組)ZipOutputStream
中的JAXB XML數據之前使用ZipEntry
描述符。因此,您的代碼可能看起來與此類似:
JAXBElement jaxbElement1 = objectFactory.createRoot(rootType);
JAXBElement jaxbElement2 = objectFactory.createRoot(rootType);
ZipOutputStream zos = null;
try {
zos = new ZipOutputStream(new FileOutputStream("xml-file.zip"));
// add zip-entry descriptor
ZipEntry ze1 = new ZipEntry("xml-file-1.xml");
zos.putNextEntry(ze1);
// add zip-entry data
marshaller.marshal(jaxbElement1, zos);
ZipEntry ze2 = new ZipEntry("xml-file-2.xml");
zos.putNextEntry(ze2);
marshaller.marshal(jaxbElement2, zos);
zos.flush();
} finally {
if (zos != null) {
zos.close();
}
}
1
我不知道JAXB和任何東西有什麼關係,XML文件內容也不是文件內容。你的問題真的是「我怎樣才能直接輸出字符到一個zip檔案」
要做到這一點,打開ZipOututStream並使用API創建條目,然後寫入內容到每個條目。請記住,zip存檔就像存檔中的一系列命名文件。
順便說一句,ZipOututStream
是JDK的一部分(即它不是一個「庫」)
3
,而無需使用第三方庫—是使用java.util.zip.ZipOutputStream
的「正確」的方式—。
個人而言,我更喜歡TrueZip。
TrueZIP是一個基於Java的虛擬文件系統(VFS)插件框架,它提供對存檔文件的透明訪問,就像它們只是普通目錄一樣。
+0
+1相同的答案+ TrueZip提示:) – Bohemian
相關問題
- 1. 如何直接將csv文件壓縮成zip壓縮文件?
- 2. C#SharpZipLib直接將文件寫入zip
- 3. 如何將文件夾壓縮爲zip?
- 4. 將文件添加到zip壓縮文件而不壓縮
- 5. 在寫入文件之前壓縮XML
- 6. 使用C++編寫zip壓縮文件
- 7. 將zip文件壓入Git
- 8. Python:將zip文件解壓縮並解壓縮.zip
- 9. 在Python中將數據寫入zip壓縮文件
- 10. 如何壓縮XML文件?
- 11. D:如何將文件添加到zip壓縮文件?
- 12. 將xls,pdf和zip文件寫入xml
- 13. BlackBerry - 解壓縮Zip文件
- 14. 解壓縮Zip文件
- 15. 解壓縮.zip文件
- 16. 解壓縮.zip文件
- 17. PHP壓縮文件到zip
- 18. 解壓縮Zip文件3.6
- 19. 寫入文件或壓縮文件
- 20. Java ZIP - 如何解壓縮文件夾?
- 21. Zip文件壓縮如何工作?
- 22. 將numpy.bool數組寫入壓縮文件?
- 23. 將壓縮的gzipstream寫入文件
- 24. 將zip文件壓縮到一起
- 25. 壓縮XML文件
- 26. 壓縮XML文件
- 27. 直接從遠程源解壓縮zip文件
- 28. 如何將zip文件寫入httpresponse
- 29. 我想將壓縮文件添加到現有壓縮文件(ZIP/RAR)或在壓縮時添加文件
- 30. 如何從XML文件中刪除zip壓縮?
爲什麼要使用JAXB編寫XML文件?你爲什麼不直接將它複製到壓縮文件中 –
壓縮文件更多的是壓縮一切而不是壓縮它。雖然它的真正處理文件的編輯器需要一個解決方案,它允許我在編輯器之外更改文件以進行快速更改。 – kdgwill