2016-02-24 97 views
2

我有一個文件,有一行我需要使用的ID。在這種情況下,id是文件的第一行,它是這個 9e598f1c-62d4-4b39-ac2d-ca8c5611c6b7Node.js讀取流不能正確讀取文件

但是當我嘗試使用讀取流與此代碼從文件中讀取

var file_stream = fs.createReadStream(file_path); 

    file_stream.on('readable',() => { 
    console.log('readable:', file_stream.read()); 
    }); 

    file_stream.on('end',() => { 
    console.log('end'); 
    }); 

我得到這個輸出

readable: <Buffer 39 65 35 39 38 66 31 63 2d 36 32 64 34 2d 34 62 33 39 2d 61 63 32 64 2d 63 61 38 63 35 36 31 31 63 36 62 37> 
readable: null 
end 

這絕對不是我不得不在文件中。會發生什麼?

+1

** bolav **給了你答案,但對於一行數據,不要羞於使用'fs.readFileSync()':'var content = fs。 readFileSync(FILE_PATH)的ToString();'。 – Shanoor

+0

@ShanShan我結束了使用這個選項,因爲我需要閱讀幾行後,所以謝謝你!兩個答案都很符合他們的目的。 – Atirag

回答

3

這是您的文件的內容,只是以字節表示。試試這個回它:

file_stream.on('readable',() => { 
    var buf = file_stream.read() 
    if (buf != null) { 
    console.log('readable:', buf.toString()); 
    } 
});