Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Vertx附加到文件_Java_Vert.x - Fatal编程技术网

Java Vertx附加到文件

Java Vertx附加到文件,java,vert.x,Java,Vert.x,如何将数据附加到文件的末尾(或开头)?我试着用 list.forEach(str -> { vertx.fileSystem().writeFile(path, Buffer.buffer(str), result -> { if (result.succeeded()) { LOGGER.debug(str + " appended"); } else { LOGGER.

如何将数据附加到文件的末尾(或开头)?我试着用

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
,都会覆盖数据,这就是为什么在文件中只能看到最后一项的原因。要将每个数据项附加到文件中,请使用以下命令打开文件:

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");
  }
});