2016-04-29 9 views
0
var market = fs.readdirSync(__dirname+"/c/") 
    console.log(market) 
    for(i in market){ 
     console.log(market[i]) // <----- shows contents of folder 
     fs.readFile(market[i],'utf-8',function(err,data){ 
      console.log(data) // <---- retruns undefined 
     }) 
    } 

だから私はこれがもっと簡単だろうと思っていましたが、明らかにどこかでうんざりしています。 あなたが見ることができるように、console.log(market[i])はフォルダの内容を表示しますが、私がそれらを読み込もうとすれば、私はちょうどこれが起こっている理由の手がかりを持っています。私は各ファイルのデータを読み込もうとしていますが、基本的には後でファイルを保存して送信しますが、今は問題ではありません。ファイルからデータを読み取っていないことも大きな問題です。NodeJS FSが複数のファイルからデータを返さない

+1

'あなた' FS内の 'はconsole.log(ERR)を追加します。 .readFile() 'コールバックを実行してエラーが返されているかどうか、そのエラーを確認します。常にエラー値を見てください。 – jfriend00

答えて

1

正しいコードは次のようになりますので、あなたは、readdirSyncリターンはあなたが唯一のファイル名をしながら、readFileへの完全なパスを提供する必要があります。

var market = fs.readdirSync(__dirname+"/c/") 
    console.log(market) 
    for(i in market){ 
     console.log(market[i]) // <----- shows contents of folder 
     fs.readFile(__dirname + "/c/" + market[i],'utf-8',function(err,data) { 
      console.log(data) // <---- retruns undefined 
     }) 
    } 
関連する問題