2016-07-31 7 views
0

ディレクトリ内の各ファイルに何らかのコンテンツを書き込もうとしています。私の考えは、ディレクトリを読み込み、ディレクトリ内のすべてのファイルを一覧表示することです。foreachループでfs.appendfileが機能しない

次に、ファイルごとに、テキストファイル内のファイルの場所を文字列として追加します。

たとえば、ディレクトリには2つのファイルSample2.content1.txt、Sample2.content2.txtが含まれています。

私はsample1.content1.txtを読んで、その場所をファイルc:\ sample1.txtに書きたいと思います。

ファイル内のテキストの書式が

Page 0 -/text.php 
Page 1 -/60893.php 
Page 2 -/1189.php 
Page 3 -/20389.html 

である私は、これに取り組んでいますが、アペンドファイルは、ファイルにコンテンツを書き込まない理由で立ち往生しています。私は複数を実行するためにワン データは データをsample2.content1.txtに付加された

をsample2.content2.txtに付加された:これは私のエラーとはconsole.logリターンを与えるものではありませんが実行

var fs = require('fs'); 
fs.readdir('C:/Users/Administrator/Desktop/Project/output',function(err,data) 
{ 
    if(err) throw err; 
    data.forEach(function(file){ 
     //console.log('C:/Users/Administrator/Desktop/Project/output'+file) 
     fs.appendFile('C:/Users/Administrator/Desktop/Project/output'+file,'appending this text to file','utf8',(err)=>{if(err) throw err; console.log('data was appended to '+file)}) 
    }); 
}); 

文字列の後のファイルに対するアクションが追加されます。つまり、ファイルのテキストを解析してJSON形式などに変換します。

JSとNodeの新機能をお手伝いします。

よろしく、 ジャイ

+0

あなたがループ内で複数の非同期操作を実行し、正しい順序で配列決定するためにそれらを期待しているので、これは一般的に悪い習慣ですが、彼らが正しい順序で行くという保証はありません。 – jfriend00

+0

正しい方法でこれにアプローチする方法についてのアドバイスはすばらしいでしょう。私はノードとJSに新しいですし、試してみています。 – user1222256

答えて

0

私のミスが...ちょうどそれを見つけた...

データがoutputsample2.content1.txtとしてファイルに追加なっていたとして、私は'/' after output/を逃したので、私は間違ったフォルダに探していました

のでそれがあるべき

fs.appendFile('C:/Users/Administrator/Desktop/Project/output/'+file,'appending this text to file','utf8',(err)=>{if(err) throw err; console.log('data was appended to '+file)}) 

は、誰かが有用それを見つけることを願っています。

よろしく、 ジャイ

関連する問題