Вы можете открыть файл в режиме добавления.Затем, когда вы вызываете write
, буфер переходит в конец файла:
vertx.fileSystem().open(fileName, new OpenOptions().setAppend(true), ar -> {
if (ar.succeeded()) {
AsyncFile writestream = ar.result();
// If you write here it will be at the end of the file
}
});
Для пропуска, просто используйте AsyncFile#setReadPos
:
vertx.fileSystem().open(fileToRead, new OpenOptions(), ar -> {
if (ar.succeeded()) {
AsyncFile readstream = ar.result();
rs.setReadPos(offset);
}
}
Когда это будет сделано, вы можетеиспользуйте обычный код насоса:
Pump pump = Pump.pump(readstream, writestream);
readstream.endHandler(v -> {
// Done
});
pump.start();
Это все фрагменты Java, но вы легко конвертируете в синтаксис Kotlin.