gpt4 book ai didi

scala - 在 Scala 中解压并读取 gzip 文件

转载 作者:行者123 更新时间:2023-12-04 03:01:19 24 4
gpt4 key购买 nike

在 Scala 中,如何解压缩 file.gz 中包含的文本?以便它可以处理?我会很高兴将文件的内容存储在变量中,或者将其保存为本地文件,以便之后程序可以读取它。

具体来说,我使用 Scalding 来处理压缩的日志数据,但是 Scalding 在 FileSource.scala 中没有定义读取它们的方法。 .

最佳答案

这是我的版本:

import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.zip.GZIPInputStream
import java.io.FileInputStream

class BufferedReaderIterator(reader: BufferedReader) extends Iterator[String] {
override def hasNext() = reader.ready
override def next() = reader.readLine()
}

object GzFileIterator {
def apply(file: java.io.File, encoding: String) = {
new BufferedReaderIterator(
new BufferedReader(
new InputStreamReader(
new GZIPInputStream(
new FileInputStream(file)), encoding)))
}
}

然后做:
val iterator = GzFileIterator(new java.io.File("test.txt.gz"), "UTF-8")
iterator.foreach(println)

关于scala - 在 Scala 中解压并读取 gzip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17436549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com