2015-04-29 34 views
1

我只是試圖讀取Node中的文本文件。我不在DOM中。在Node中使用Javascript讀取文件

我可以使用這個軟件包寫入文件,但是我無法從中讀取文件。

我知道我neead如下:

var fs = require('fs'); 

var readStream = fs.createReadStream('my_file.txt'); 

但readStream是一個複雜的對象。我只想把這個變量當作一個字符串。有任何想法嗎?

回答

3

如果它是一個文件,你爲什麼不使用fs.readFile,這是用於讀取文件

fs.readFile('my_file.txt', {encoding : 'utf8'}, function (err, data) { 
    if (err) throw err; 

    var fileContent = data; 
}); 

甚至還有可用的同步版本,您一般不應該使用

var fileContent = fs.readFileSync('my_file.txt', {encoding : 'utf8'}); 
+0

應該注意的是,如果您計劃同時讀取多個文件(例如響應請求),則可以更好地利用'fs.createReadStream(...)'利用流式API處理文件。雖然更方便,但'fs.readFile()'會將整個文件緩衝在內存中。 – ctt