Код (scala, в akka.actor):
Код: Выделить всё
case WriterStart(fileName,actor) =>
{
this.filename = fileName
this.actor = actor
zip = new GZIPOutputStream(new FileOutputStream(new File(fileName)))
writer = new BufferedWriter(new OutputStreamWriter(zip, "UTF-8"))
counter = 0
}
case InsertJoinedSubject(model) => //model: StringBuilder
{
counter += model.lines.size
writer.append(model)
}
case Finalize() =>
{
System.out.println("output file " + filename + " has " + counter + " lines")
writer.flush()
writer.close()
context.parent ! WriterClosed(actor, filename)
}
Подробнее здесь: https://stackoverflow.com/questions/322 ... itergzipou