Мы работаем над написанием существующей утилиты Python в Scala.Утилита загружает сжатые данные из REST API в виде файла .gzip.
Код Python:
response=requests.get(url,stream=True,headers=self.header,proxies=config.PROXIES,timeout=config.TIMEOUT)
with open(file_path, 'wb+') as f:
shutil.copyfileobj(response.raw, f)
В Scala я пишу это так:
var out: GZIPOutputStream = new GZIPOutputStream(new FileOutputStream(outputFile))
var writer= new PrintWriter(out)
try {
val inputStrem: InputStream = response.getEntity.getContent
val gzipInputStream = new GZIPInputStream(inputStrem)
for(line <- Source.fromInputStream(gzipInputStream).getLines){
writer.write(line+"\n")
}
} catch {
case e: Exception => throw e
}finally {
if (writer != null) writer.close
}
Но выходной файл каждый раз создается с разными размерами сскалярный код.Код Python работает нормально.Запросы REST POST и GET одинаковы для обеих утилит.Я не получаю никаких ошибок в Scala, он успешно выполняется, но создает файлы разных размеров.Любая помощь будет очень признательна.
Спасибо!