path 文件路径处理模块
引入包
1 | const path = require('path'); |
path 文件路径处理的相关 API
- path.basename(path[, ext]): 获取文件名部分
- path.dirname(path): 获取目录部分
- path.extname(path): 获取扩展名部分
- path.isAbsolute(path): 判断是否是绝对路径
- path.join([…paths]): 将多个路径拼接为一个路径
- path.normalize(path): 将一个非标准路径转为一个标准路径
- path.resolve([…paths]): 将多个路径拼接为一个绝对路径
- path.sep: 获取操作系统路径分隔符
- path.format(pathObject): 将一个对象转成路径
fs 文件操作模块
引入包
1 | const fs = require('fs'); |
fs 文件操作的相关 API
- fs.writeFile(file, data, callback):文件写入
- fs.appendFile(file, data, callback):文件追加
- fs.readFile(file[, options], callback):文件读取
- fs.unlink(path, callback):删除文件
- fs.stat(path, callback):获取文件信息
- fs.access(path, callback):验证文件路径是否存在
- fs.access(‘路径’, callback(err))
- 如果没有错误,说明路径存在
- 如果有错误,说明路径不存在
- fs.access(‘路径’, callback(err))
- fs.rename(oldPath, newPath, callback):重命名或移动文件
目录操作常用API
- fs.mkdir(path, callback):创建一个目录
- fs.rmdir(path, callback):删除一个空目录
- 该 API ,只能删除一个空目录
- 如果想要删除一个非空目录,自己写代码:递归思路
- fs.readdir(path, callback):读取一个目录
- fs.rename(oldPath, newPath, callback):重命名或移动目录
获取文件信息
- fs.stat(path,callback)
1 | const fs = require('fs'); |
- stats.isFile()
- stats.isDirector()
- stats.isBlockDevice()
- stats.isCharacterDeveice()
- stats.isSymbolicLink()
- stats.isFIFO()
- stats.isSocket()
- stats.size; 文件大小
- stats.atime; 最后一次访问时间
- stats.mtime; 最后一次修改时间
- stats.ctime; 创建时间和修改时间
- stats.birthtime; 创建时间
监视
- fs.watchFile(filename[, options], listener)
- fs.watch(filename[, options][, listener])
Node 支持的编码类型
- ascii
- utf8
- 万国码
- utf16le
- ucs2
- base64
- 图片编码
- latin1
- binary
- hex
Node 不支持 gbk,所以去社区中找可用的第三方包来解决中文 GBK 编码问题。
文件流
- fs.createReadStream(src);
- fs.createWriteStream(des);
- fs.statSync(src).size;
- writeStream.write(data);
- writeStream.end();
- readStream.pipe(writeStream);
未完待续…