如何從我的Scala程序中的壓縮文件中直接訪問XML數據文件?是否有任何直接的方式來編程解壓縮和閱讀我的Scala代碼中的內容?如何讀取Scala代碼中的壓縮xml文件?
回答
這裏有一對夫婦的做這件事的方式2.8.1:
cat > root.xml << EOF
<ROOT>
<id>123</id>
</ROOT>
EOF
zip root root.xml
然後在REPL:
val rootzip = new java.util.zip.ZipFile("root.zip")
import collection.JavaConverters._
val entries = rootzip.entries.asScala
entries foreach { e =>
val x = scala.xml.XML.load(rootzip.getInputStream(e))
println(x)
}
或類似的東西:
val rootzip = new java.util.zip.ZipFile("root.zip")
import scala.collection.JavaConversions._
rootzip.entries.
filter (_.getName.endsWith(".xml")).
foreach { e => println(scala.xml.XML.load(rootzip.getInputStream(e))) }
您可以使用Java包java.util.zip:http://download.oracle.com/javase/6/docs/api/java/util/zip/package-summary.html
哪個_does_根據OP的標籤要求,提供gzip(儘管不是tar.gz)支持。 – 2011-03-01 13:22:44
我在這裏看不到'tar',只是'gzip'。 :)一個GZIPInputStream應該只是醫生的命令。或者,如果它實際上是一個PKZIP文件,那麼同一個包中的其他內容將會起作用(帶來額外的意外複雜性) – 2011-03-01 18:18:24
hmmmm ...要查看的任何快速示例代碼?我只是有點懶,那就是它。 – 2011-03-01 18:26:39
我個人比較喜歡TrueZip。它允許您將存檔文件視爲虛擬文件系統,提供與標準Java文件I/O相同的界面。
- 1. 如何提取讀取壓縮文件?
- 2. 如何讀取壓縮的DICOM文件
- 3. 如何使用java讀取壓縮的xml文件
- 4. 解壓縮並讀取scala中的gzip文件
- 5. 如何壓縮XML文件?
- 6. 讀取壓縮文件
- 7. 上傳壓縮文件,解壓縮並讀取文件
- 8. 解壓縮文件並讀取解壓縮文件
- 9. 壓縮XML文件
- 10. 壓縮XML文件
- 11. 在Apache中讀取壓縮文件(.xz)
- 12. Spark 2.1.0:讀取壓縮的csv文件
- 13. 如何優化這個從xml文件中讀取的代碼
- 14. 使用.NET讀取壓縮的xml
- 15. Scala中的壓縮
- 16. 如何從Java中的S3讀取Snappy壓縮文件
- 17. 如何讀取R中的gzip壓縮grib文件?
- 18. 如何在Python中讀取.gz壓縮文件的內容?
- 19. 如何讀取codeigniter中壓縮文件的內容?
- 20. 如何壓縮python代碼?
- 21. 該代碼如何壓縮?
- 22. 在NTFS壓縮目錄中,如何讀取壓縮和解壓縮大小的文件?
- 23. 如何從使用7z壓縮的文本文件讀取?
- 24. 如何壓縮在代碼中生成的文件(Java)
- 25. 將壓縮文件和解壓縮文件讀取到內存中
- 26. android獲取壓縮文件中的文件的壓縮大小
- 27. 從Spark中的* .tar.gz壓縮文件中讀取HDF5文件
- 28. 讀取壓縮csv文件上即時
- 29. libtiff.net無法讀取jpeg壓縮文件
- 30. ENOENT ENOENT嘗試讀取壓縮文件
非常感謝。這一個真的幫助最大。我粘貼了一個隱式方法代碼,用於將Java Enumeration轉換爲Scala列表。 collection.JavaConverters._和asScala()幫助減少了代碼的複雜性。在scala中讀取XML和ZIP文件的許多真正有用的示例。萬分感謝。 – 2011-03-10 11:40:42