顶点附加到文件
Vertx append to file
如何将数据追加到文件末尾(或开头)?我尝试使用
list.forEach(str -> {
vertx.fileSystem().writeFile(path,
Buffer.buffer(str), result -> {
if (result.succeeded()) {
LOGGER.debug(str + " appended");
} else {
LOGGER.error(str + " not appended");
}
});
});
但它只写最后一项。
您每次连续调用 writeFile
都会覆盖数据,这就是为什么在文件中您只能看到最后一项的原因。要将每个数据项附加到文件,请使用 OpenOptions#setAppend(true)
:
打开文件
vertx.fileSystem().open(path, new OpenOptions().setAppend(true), ar -> {
if (ar.succeeded()) {
AsyncFile ws = ar.result();
list.forEach(str -> {
Buffer chunk = Buffer.buffer(str);
ws.write(chunk);
});
} else {
System.err.println("Could not open file");
}
});
如何将数据追加到文件末尾(或开头)?我尝试使用
list.forEach(str -> {
vertx.fileSystem().writeFile(path,
Buffer.buffer(str), result -> {
if (result.succeeded()) {
LOGGER.debug(str + " appended");
} else {
LOGGER.error(str + " not appended");
}
});
});
但它只写最后一项。
您每次连续调用 writeFile
都会覆盖数据,这就是为什么在文件中您只能看到最后一项的原因。要将每个数据项附加到文件,请使用 OpenOptions#setAppend(true)
:
vertx.fileSystem().open(path, new OpenOptions().setAppend(true), ar -> {
if (ar.succeeded()) {
AsyncFile ws = ar.result();
list.forEach(str -> {
Buffer chunk = Buffer.buffer(str);
ws.write(chunk);
});
} else {
System.err.println("Could not open file");
}
});