Я пытаюсь прочитать zip файл, проверить, что у него есть необходимые файлы, а затем записать все действительные файлы в другой zip файл. базовое введение в java.util.zip содержит много Java-измов, и мне бы хотелось сделать мой код более Scala -native, В частности, я хотел бы избежать использования vars
. Вот что у меня есть:
val fos = new FileOutputStream("new.zip");
val zipOut = new ZipOutputStream(new BufferedOutputStream(fos));
while (zipIn.available == 1) {
val entry = zipIn.getNextEntry
if (entryIsValid(entry)) {
zipOut.putNewEntry(new ZipEntry("subdir/" + entry.getName())
// read data into the data Array
var data = Array[Byte](1024)
var count = zipIn.read(data, 0, 1024)
while (count != -1) {
zipOut.write(data, 0, count)
count = zipIn.read(data, 0, 1024)
}
}
zipIn.close
}
zipOut.close
Я должен добавить, что я использую Scala 2.7.7.