7

Currently, I have the following block of code:

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);

Which is used to set up my Windows computer as a server and receive data from my linux computer. It is currently writing data to the command window. I would like to write the data into a text file to specific location, how do i do this?

Luzan Baral
  • 3,678
  • 5
  • 37
  • 68
FWing
  • 73
  • 1
  • 1
  • 3

2 Answers2

6

Use the fs module to deal with the filesystem:

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.
  });
});
SomeKittens
  • 38,868
  • 19
  • 114
  • 143
  • 2
    By default, writeFile() will overwrite anything that was already in the file, so this answer will only leave the last 'data' item in the file. – cybersam Apr 01 '14 at 20:22
  • well, this exactly wt i want to do, over write the data, and leave the latest data in the text file only. – FWing Apr 01 '14 at 20:43
  • However, the problem I am having at the moment is, I dont have any error, but i cant file the .txt file even with the search function of windows :/ – FWing Apr 01 '14 at 20:44
  • @FWing The txt file should be in the directory where you ran `node` – SomeKittens Apr 01 '14 at 20:47
  • oh alrite, thank you, i got it, not sure why the search function doesnt work – FWing Apr 01 '14 at 21:09
4

You should read up on the File System support in node.js.

The following method is probably the simplest way to do what you want, but it is not necessarily the most efficient, since it creates/opens, updates, and then closes the file every time.

function myWrite(data) {
    fs.appendFile('output.txt', data, function (err) {
      if (err) { /* Do whatever is appropriate if append fails*/ }
    });
}
cybersam
  • 63,203
  • 6
  • 53
  • 76