持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,点击查看活动详情
fs模块
fs
文件系统模块(fs),node的文件系统模块的api集合。
使用
新建ts文件
import * as fs from "fs";
const data = fs.readFileSync("input.txt");
console.log("读取input.txt: " + data.toString());
console.log("程序执行完毕。");
在当前目录新建input.txt就,使用ts-node跑一下就可以看到结果。
fs的api
fs.open(path, flags[, mode], callback)
三个参数,path是路径,flags就是操作权限,比如r 只读
,a+ 读取追加模式,如果没有文件则创建
,callback回调。
fs.open("input.txt", "r+", (err: NodeJS.ErrnoException | null, fd: number) => {
console.log(fd);
});
// 异步的输出 3
fs.stat(path, callback)
, 读取文件的信息。
fs.stat("input.txt", (err, stats: Stats) => {
if (err) {
console.warn(err);
} else {
console.log(stats);
console.log(stats.isFile() ? "是file" : "不是file"); //是file
console.log(stats.isDirectory() ? "是目录" : "不是目录"); //不是目录
}
});
这里的参数stats是fs的Stats类,它就是文件的信息,我们通常还会使用它的两个常用方法,isFile(): boolean
和isDirectory(): boolean
判断是文件还是目录。
fs.writeFile(file, data[, options], callback)
,主要是file文件名,data:写入的数据,callback回调。
fs.writeFile("input.txt", "writed!", (fs) => {
console.log("done," + fs);
});
options里面默认的flag是w即覆盖重写。我们也通常使用这个方法来创建文件。
fs.readFile(path,options,callback) 上面写过一次,不多说了。
fs.close(fd,callback),它是open对应的关闭操作,fd就是文件的标识符,通常在open回调里提供fd参数调用close来关闭文件。
fs.open("input.txt", "r+", (err: NodeJS.ErrnoException | null, fd: number) => {
console.log(fd);
fs.close(fd, () => {
console.log("关闭");
});
});
其他还有fs.unlink(path, callback)
删除文件, fs.mkdir(path[, options], callback)
,创建目录.fs.rmdir(path, callback)
,删除目录。
`
path 模块
用到fs那么基本上也一定会用到path,它能够对路径做一些操作。这里就说几个常用的api。
path.basename(path[, ext])获取路径中文件名,后缀是可选的.
__dirname是node.js中的一个全局变量,用来获取当前模块文件所在目录的完整绝对路径,通常ts的话会报错。
path.join([...paths]) 路径结合、合并,路径最后不会带目录分隔符
path.normalize(path) 路径解析,得到规范化的路径格式,对window系统,目录分隔为'', 对于UNIX系统,分隔符为'/',针对'..'返回上一级;/与\都被统一转换
path.resolve([...paths]) 以应用程序为起点,根据参数字符串解析出一个绝对路径
总结
本次文章的是我个人学习的总结,巩固一下记忆。因为学习源码会看到很多的fs和path操作,就简单学习一下。
结语
本次的文章到这里就结束啦!♥♥♥读者大大们认为写的不错的话点个赞再走哦 ♥♥♥
每天一个知识点,每天都在进步!♥♥