class01:node对系统文件的简单操作

一、Node简介

js 需要运行在浏览器或者客户端下,而node 就可以脱离浏览器和客户端运行。

Node.js是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境。

1. node下载安装

官网: https://nodejs.org/zh-cn/download/
安装时node会自动配置环境变量,选择想安装的盘符一直下一步就好。

window + r 搜索框输入 cmd 回车输入node -v 查看是否正确安装,出现版本号则安装正确。
在这里插入图片描述
可以查看npm版本,npm 是 node 包管理器:
在这里插入图片描述

2. 编辑器中运行node

WebStorm:右键点击run运行相应的js文件;

vscode:ctrl + ~ 出现终端,进入要运行的js文件所在的目录路径下输入node + 文件名(不需后缀)

路径选择的相关操作:cd 打开文件夹 ./文件夹名 …/ 上一层 按tab键补全

二、fs模块

1. 导入模块

fs模块是node内置模块,node中没有 DOM、BOM。node最好使用es6的语法 。es5是2015以前语法,2015 之后 统称为 es6。

//请求到node内置模块方法 fs
const fs = require("fs");

2. 删除文件:

2.1 异步删除文件

unlink(filePathSuffix,callback)

filePathSuffix:文件路径名及后缀名;

callback 回调函数 => 函数(必写);

例1:删除同目录下的文件a.txt

const fs = require("fs")
fs.unlink("./a.txt",() =>{});

回调函数添加报错信息err和数据data:

const fs = require("fs")

fs.unlink("./a.txt",(err, data)=>{
    console.log(err, data)
});

正确执行时,输出err为null,data为undefined。

在这里插入图片描述

如果目录下没有要删除的文件,将输出错误信息和数据:
在这里插入图片描述

2.2 同步删除文件

unlinkSync(filePathSuffix,callback)

区别:小文件用同步,大文件用异步

3. 读取文件

3.1 异步读取文件

readFile(filePathSuffix,callback)

filePathSuffix:文件路径名及后缀名;

callback 回调函数 => 函数(必写);

例2:读取同目录下的a.txt文件并输出
在这里插入图片描述

fs.readFile("./a.txt",(err,data)=>{
    console.log(err,data);
})

在这里插入图片描述

分析:data读取的到的数据是buffer格式为二进制格式,但显示出来为十六进制 。

解决方法:buffer格式转换成字符串通过toString()

fs.readFile("./a.txt",(err,data)=>{
    console.log(data.toString);
})

3.2 同步读取文件

readFileSync(filePathSuffix,callback)    

4. 写入文件

4.1 异步写入文件

writeFile(filePathSuffix,content[,opation],callback)

filePathSuffix:写入文件地址及后缀

content:写入文件的内容 => buffer String

callback:回调函数

例3:写入”我是程序员”并创建b.txt文件

fs.writeFile("./b.txt", "我是程序员", (err, data) => {
    console.log(err, data);
});

在这里插入图片描述

向已存在的b.txt文件中追加内容使用{ flag: “a” }:

fs.writeFile("./b.txt", "我是奥特曼", { flag: "a" }, (err, data) => {
    console.log(err, data);
});

在这里插入图片描述

4.2 同步写入文件

writeFileSync(filePathSuffix,content[,opation],callback)

例4:创建1.html文件并写入< p>test< /p>

fs.writeFileSync("./1.html","<p>test</p>",{flag:"a"},(err,data) => {
	console.log(err,data);
});

同步写入文件可用于爬小说。

5. 创建文件夹

5.1 异步创建文件夹

skdir(filePath,callback);

filePath:文件路径及地址

例4:在同目录下创建文件夹test

fs.mkdir("./test",(err,data) =>{});

5.2 同步创建文件夹

skdirSync(filePath,callbaack);

三、总结

引入fs  require("fs")

异步执行
fs.unlink(filePathSuffix,callback)
fs.readFile(filePathSuffix,callback)
fs.writeFile(filePathSuffix,content[,option],callback)

// 创建文件夹
fs.mkdir(filePath,callback)

同步执行
fs.unlinkSync(filePathSuffix)
fs.readFileSync(filePathSuffix)
fs.writeFileSync(filePathSuffix,content)
fs.mkdirSync(filePath)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laker 23

要秃啦,支持一下嘛~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值