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

Writing data to text file in Node.js

本问题已经有最佳答案,请猛点这里访问。

目前,我有以下代码块:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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计算机接收数据。它当前正在将数据写入命令窗口。我想把数据写进一个文本文件到特定的位置,我该怎么做?


您应该阅读node.js中的文件系统支持。

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

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


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

1
2
3
4
5
6
7
8
9
10
11
12
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.
  });
});