将数据写入Node.js中的文本文件

时间:2014-04-01 20:03:54

标签: node.js file-io

目前,我有以下代码块:

net = require('net');
var clients = [];

net.createServer(function(s) {

  clients.push(s);

  s.on('data', function (data) {
    clients.forEach(function(c) {
      c.write(data);
    });
    process.stdout.write(data);//write data to command window
  });

  s.on('end', function() {
    process.stdout.write("lost connection");
  });

}).listen(9876);

用于将我的Windows计算机设置为服务器并从我的Linux计算机接收数据。它当前正在将数据写入命令窗口。我想将数据写入文本文件到特定位置,我该怎么做?

2 个答案:

答案 0 :(得分:4)

使用fs模块处理文件系统:

var net = require('net');
var fs = require('fs');
// ...snip
s.on('data', function (data) {
  clients.forEach(function(c) {
    c.write(data);
  });

  fs.writeFile('myFile.txt', data, function(err) {
    // Deal with possible error here.
  });
});

答案 1 :(得分:4)

您应该阅读node.js中的File System支持。

以下方法可能是您想要的最简单的方法,但它不一定是最有效的方法,因为它创建/打开,更新,然后每次都关闭文件。

function myWrite(data) {
    fs.appendFile('output.txt', data, function (err) {
      if (err) { /* Do whatever is appropriate if append fails*/ }
    });
}