我尝试使用以下方法创建/编写AsyncFile
vertx.fileSystem().writeFile("C:/Users/Asus/Desktop/filetwo.txt", buffer, new AsyncResultHandler<Void>{
和
vertx.fileSystem().open("filetwo.txt", new AsyncResultHandler<AsyncFile>(){
两种方法都没有设法创建新文件,我无法弄清楚原因。我尝试过不同的文件格式,但没有区别。
答案 0 :(得分:2)
您是否可以发布有关您尝试编写的缓冲区内容的方式和内容的更多详细信息,因为简单的简单编写文件实际上可以正常工作:
Buffer buffer = Buffer.buffer("This is a Test Text!");
vertx.fileSystem().writeFile("testfile.txt", buffer,
new Handler<AsyncResult<Void>>() {
@Override
public void handle(AsyncResult<Void> result) {
if(result.succeeded()) {
container.logger().info("Success!");
} else {
container.logger().info("Failed!");
}
}
});
在启动的模块的根目录下创建测试文件,将缓冲区文本写入其中并返回
INFO: Success!
成功完成。
另外
vertx.fileSystem().writeFile(
"d:/testfile.txt", buffer,
new Handler<AsyncResult<Void>>() {
在Windows下的绝对路径下工作正常。
可能存在缓冲内容或其他问题。如果你有更多的见解,也许我们可以搞清楚。