.createreadstream值为字符串变量

时间:2014-07-19 17:37:51

标签: node.js

如何设置一个等于fs.createReadStream返回的数据的变量,这样我就可以打印出该变量,然后我将获取文件内容。

var rs = fs.createReadStream('file.txt', {encoding: 'utf8'});

如何将返回的数据放入变量中供以后使用。

由于

2 个答案:

答案 0 :(得分:1)

如果您只想在变量中同时获取所有数据,则应使用fs.readFile代替。

fs.readFile('file.txt', {encoding: 'utf8'}, function(err, data){
    // Use the 'data' string here.
});

也就是说,根据您的使用情况,最好将数据保留为流,并在加载时以块的形式处理。

答案 1 :(得分:-3)

此代码有助于:

var data = [];
var fs = Meteor.npmRequire('fs');
CSV().from.stream(
                fs.createReadStream(file),
                {'escape': '\\'})
                .on('error', function (err) {
                    console.log(err);
                })
                .on('record', Meteor.bindEnvironment(function (row, index) {

                    data.push({
                        ESSID: row[0],
                        position: {
                            lat: row[4],
                            lng: row[5]
                        },
                        publicposition: {
                            lat: row[11],
                            lng: row[12]
                        },
                        publichost: row[13]
                    })

                }), function (err) {
                    console.log(err);
                })
                .on('end', Meteor.bindEnvironment(function (row, index) {
                   //do something with 'data'
                }))