首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将缓冲流写入nodeJs中新创建的目录

无法将缓冲流写入nodeJs中新创建的目录
EN

Stack Overflow用户
提问于 2017-05-06 22:26:04
回答 1查看 31关注 0票数 0

我必须创建一个名为stuff的目录,并将流写入"stuff“目录中的一个文本文件中。但是,因为NodeJs中的代码不是以串行方式执行的,所以我得到了一个错误,指出该目录不存在。任何帮助都将不胜感激。代码粘贴在下面。

代码语言:javascript
运行
复制
var http = require("http");

var fs = require("fs");

var readStream = fs.createReadStream(__dirname+"/readMe.txt","UTF-8");

  var writeStream;

  fs.mkdir("stuff",function(){

     writeStream = fs.createWriteStream(__dirname+"/stuff/writeMe.txt");

 });

readStream.on("data",function(chunk){

writeStream.write(chunk);

});
EN

Stack Overflow用户

发布于 2017-05-06 22:43:56

当您调用文件夹创建函数时,它会立即返回。但回调函数仅在文件夹已创建(或创建失败)时执行。

代码语言:javascript
运行
复制
fs.mkdir("stuff",function(){
    // executed after folder creation
    writeStream = fs.createWriteStream(__dirname+"/stuff/writeMe.txt");
});
// executed instantly

在您当前的代码中,当您尝试写入该文件夹时,它尚未创建,并且writeStreamundefined

因此,您需要在创建文件夹后对其进行写入:

代码语言:javascript
运行
复制
fs.mkdir("stuff",function(){
    writeStream = fs.createWriteStream(__dirname+"/stuff/writeMe.txt");
    readStream.on("data",function(chunk){
        writeStream.write(chunk);
    });
 });
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43821600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档