2017-05-06 9 views
0

私はstuffという名前のディレクトリを作成し、ストリームを "stuff"ディレクトリ内のテキストファイルに書き込む必要がありました。 NodeJsのコードは連続して実行されないため、ディレクトリが存在しないというエラーが表示されます。どんな助けもありがとう。コードは下に貼り付けられます。 は、nodeJsの新しく作成されたディレクトリにバッファストリームを書き込めませんでした

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

}); 

答えて

0

フォルダ作成機能を呼び出すと、それは即座に返します。しかし、コールバック関数は、フォルダが作成されているときにのみ実行されます(または作成に失敗しました。)あなたの現在のコードで

fs.mkdir("stuff",function(){ 
    // executed after folder creation 
    writeStream = fs.createWriteStream(__dirname+"/stuff/writeMe.txt"); 
}); 
// executed instantly 

、フォルダへの書き込みをしようとすると、それはまだ作成されていない、とwriteStreamundefinedです。

fs.mkdir("stuff",function(){ 
    writeStream = fs.createWriteStream(__dirname+"/stuff/writeMe.txt"); 
    readStream.on("data",function(chunk){ 
     writeStream.write(chunk); 
    }); 
}); 
+0

ありがとう:

は、だから、それが作成されています後のフォルダに記述する必要があります。それが助けになった –

関連する問題