前言
本章学习fs模块,即文件系统。
1,fs为核心模块,不需要 npm install,直接引用即可。
2,fs中方法都两种:
1),同步方法:如果该方法没有执行完毕,则阻塞线程,程序不会向下执行。
方法名:xxxSync(param)
2),异步方法:不会阻塞线程。异步方法含有一个回调方法(callback),执行完毕会执行回调方法。
方法名:xxx(param,callback)
3,文件写入
1,文件写入:
1,打开文件
2,向文件写入内容
3,关闭文件
1,同步文件写入
1,打开文件
函数:fs.openSync(path[, flags, mode])
path:就是文件路径
flags:打开方式。r:读;w:写
mode:设置文件的操作权限。linux上需要传递。windows上可以不传这个参数。
返回值:一个数值型变量,称为文件描述符。可以通过该描述符来操作文件。
flags的更加详细的表述可以参照文档:我觉得这个东西也不用记,需要的时候就打开文档查一下即可。
2,写入文件
函数:fs.writeSync(fd, string[, position[, encoding]])
fd:文件描述符
string :写入内容
position :写入起始位置
encoding :字符编码,默认utf-8
返回: <number> 写入的字节数。
例子:
注意这里的openSync函数的默认路径是根目录。
3,关闭文件
函数:fs.closeSync(fd)
2,异步文件写入
1,打开文件
注意:异步操作没有返回值。
fs.open(path[, flags[, mode]], callback)
path 路径
flags 打开方式,默认值: 'r'。
mode 打开模式,默认值: 0o666(可读写)。
callback <Function> 注意这里的回调函数是必须的。
err <Error> 错误信息
fd <integer> 文件描述符
2,写入文件
fs.write(fd, string[, position[, encoding]], callback)
参数详细我就不写了,见名知义。
3,关闭文件
fs.close(fd, callback)
二、同步异步差异
同步更加适合人类思维,异步更适合计算机执行。
异步更健壮,假如程序某个地方失败,同步就挂了,异步可能可以继续执行。
不管怎么说,异步是我们必须掌握的方式。