Node.js -- fs模块-1. 写入文件

1.1 写入文件

  1. 导入fs 模块
const fs = require('fs');
  1. 写入文件
fs.writeFile('./座右铭.txt','三人行,则必有我师焉',err =>
// err写入失败:错误对象 写入成功:nul1
if(err){
console.1og('写入失败')return;
console.1og('写入成功')}
);
console.log(1+1);

// 2
// 写入成功
在这里插入图片描述
其实,我们平常文件的保存也是使用了node 的fs 模块!

1.2 同步和异步

  1. 异步执行
    上面我们在学习写入模块时举出的案例就时是异步编程,程序会先输出2 的原因是js 文件从上之下执行,写入文件时时异步执行,就像但与我们之前学过的setTimeOut 定时器。

  2. 同步执行

fs.writeFileSync('./data.txt','test');
// 这种方法没有回调函数

此时程序没有其他线程,只能等这步代码执行完之后再进行下面的程序。

1.3 文件追加写入

// 第一种方法
fs.appendFile('./座右铭.txt','择其善者而从之,择期不善者而改之',err=>{
//判断
if(err){
console.log('写入失败');
return;
}
console.log('追加写入成功');
});
// 第二种方法
fs.appendFileSync('./座右铭.txt','择其善者而从之,择期不善者而改之')
// 第三种方法
fs.appendFile('./座右铭.txt','love love love'{flag: 'a'},err=>{
//判断
if(err){
console.log('写入失败');
return;
}
console.log('\r\n追加写入成功'); // \r\n 表示换行
});
// 这种方法我们一般在日志使用

1.4 流式写入

// 1.导人fs
const fs = require('fs');
// 2.创建写入流对象
const ws = fs.createWriteStream('./观书有感.txt');
// 3.write
ws.write('半亩方塘一鉴开r\n');
ws.write('天光云影共徘徊\r\n');
ws.write('间渠那得清如许r\n');
ws.write('为有源头活水来\r\n');
// 4.关闭通道
ws.close();

之前讲过的写入文件方式都是调用一次方法写入一次,会消耗资源,而这种方法的优势就是在没有关闭通道的时候,可以一直向文件中写入内容。

1.5 文件写入的场景

文件写入在计算机中是一个非常常见的操作,下面的场景都用到了文件写入

  • 下载文件
  • 安装软件
  • 保存程序日志,如Git
  • 编辑器保存文件
  • 视频录制

当需要持久化保存数据的时候,应该想到文件写入

上一篇:docker容器技术篇:容器集群管理实战mesos+zookeeper+marathon(一)


下一篇:HTML随机点名程序