Home  >  Article  >  Web Front-end  >  Talk about file writing in Node.js

Talk about file writing in Node.js

青灯夜游
青灯夜游forward
2020-12-04 17:57:538090browse

This article will introduce you to file writing in Node.js. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

Talk about file writing in Node.js

Related recommendations: "node js tutorial"

It is very simple to read the file and then read the file writing , the operations of the two correspond almost one-to-one

fs.writeFile

fs.writeFile(file, data[, options], callback)

  • file: file name or file descriptor

  • data: the most commonly used ones are string and buffer

  • callback(err)

When file is a file name, write data to the file asynchronously. If the file already exists, overwrite the file content

const fs = require('fs');

const data = Buffer.from('Hello, Node.js');
fs.writeFile('./test.txt', data, err => {
  if (err) throw err;
  console.log('文件已被保存');
});

fs.write

fs.write has two overloads

  • fs.write(fd, buffer[, offset[ , length[, position]]], callback): The parameter meaning is almost the same as fs.read

  • fs.write(fd, string[, position[, encoding]], callback) : Only the entire string content can be written to the file

The difference between the two is that using buffer can write the contents of offset ~ length offset in the buffer, while Using strings can only write the entire string content to the file

const fs = require('fs');

const data1 = Buffer.from('Hello, Node.js');
const data2 = 'Hello, Node.js';

const fd = fs.openSync('./test.txt', 'w');
console.log(fd)

fs.write(fd, data1, err => {
  if (err) throw err;
  console.log('data1 已被写入');
});

fs.write(fd, data2, err => {
  if (err) throw err;
  console.log('data2 已被写入');
});

setTimeout(() => {
  fs.close(fd, console.log);
}, 100);

fs.appendFile

fs.appendFile(path, data[, options], callback) will Data is appended to the end of the file. If the file does not exist, the file is created

const fs = require('fs/promises');

const data1 = Buffer.from('Hello,');
const data2 = Buffer.from(' Node.js');

fs.appendFile('./test.txt', data1)
  .then(() => {
    fs.appendFile('./test.txt', data2);
    console.log('文件内容追加完成');
  });

fs.createWriteStream

fs.createWriteStream(path[, options]) Used to create a Writable file stream, options are almost the same as fs.createReadStream
options (the more commonly used ones are)

  • fd: The default value is null, if fd is specified, the path parameter will be ignored, use The specified file descriptor (the open event will not be triggered again)
  • mode: Default value 0o666
  • autoClose: Default value: true, when the 'error' or 'finish' event occurs, the file description The symbol will be automatically closed
  • start: The position where writing to the file starts, no default override is set

Writing the contents of a readable stream to a writable stream is very simple

const fs = require('fs');

fs.createReadStream('./test.txt')
  .pipe(fs.createWriteStream('./copy.txt'));

The introduction and more uses of streams will be introduced in detail in the Buffer and Stream chapters

For more programming-related knowledge, please visit: Programming Teaching! !

The above is the detailed content of Talk about file writing in Node.js. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete