2

我尝试AsyncFile使用以下方法创建/编写一个,

vertx.fileSystem().writeFile("C:/Users/Asus/Desktop/filetwo.txt", buffer, new AsyncResultHandler<Void>{

vertx.fileSystem().open("filetwo.txt", new AsyncResultHandler<AsyncFile>(){

两种方法都无法创建新文件,我不知道为什么。我尝试了不同的文件格式,但没有区别。

4

1 回答 1

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 下使用绝对路径可以正常工作。

缓冲区内容可能有问题或其他问题。如果你有更多的见解,也许我们可以弄清楚。

于 2014-07-08T16:35:20.320 回答