如何从我的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. 如何压缩XML文件?
- 3. 上传压缩文件,解压缩并读取文件
- 4. 压缩XML文件
- 5. 压缩XML文件
- 6. Spark 2.1.0:读取压缩的csv文件
- 7. 使用.NET读取压缩的xml
- 8. 如何优化这个从xml文件中读取的代码
- 9. Scala中的压缩
- 10. 如何从Java中的S3读取Snappy压缩文件
- 11. 如何读取codeigniter中压缩文件的内容?
- 12. 如何压缩python代码?
- 13. 在NTFS压缩目录中,如何读取压缩和解压缩大小的文件?
- 14. 从Spark中的* .tar.gz压缩文件中读取HDF5文件
- 15. ENOENT ENOENT尝试读取压缩文件
- 16. 无法读取解压缩classes.dex文件?
- 17. 使用rubyzip解压缩后读取xml文件
- 18. 如何从tar中读取gz压缩文件
- 19. 如何在Scala中读取gzip'd文件
- 20. 如何读取压缩CSV文件的特定列
- 21. 如何使用R读取zip压缩文件中打包文件的大小
- 22. 如何将文件压缩文件解压缩到之前由代码(PHP)创建的目录中?
- 23. 如何压缩图像文件并使用PHP解压缩?我的代码产生损坏的提取
- 24. Powershell - 从.zip压缩文件中读取文件失败
- 25. 如何更正代码以读取xml文件?
- 26. 如何在读取压缩流时“解压缩”
- 27. 如何获取C#代码来读取基本游戏中的XML文件
- 28. 如何读取XML文件
- 29. JS缩小:压缩代码
- 30. JavaScript代码压缩
非常感谢。这一个真的帮助最大。我粘贴了一个隐式方法代码,用于将Java Enumeration转换为Scala列表。 collection.JavaConverters._和asScala()帮助减少了代码的复杂性。在scala中读取XML和ZIP文件的许多真正有用的示例。万分感谢。 – 2011-03-10 11:40:42