fs的unlink方法
const fs = require('fs');//require就是引入 这一行就是导包的意思
fs.unlink('test_file/背x.txt', (err) => {
//调用导入的包中的方法
//unlink是个删除方法 第一个参数是字符串 字符串内容时文件的位置以及文件 第二个是回调函数
if(err == null){
//当为错误信息为null 说明没错
console.log('文件已删除');
}
else{
console.log(err);
}
});
fs的readFile方法
const fs = require('fs');//导包
//readFile 是fs中的方法 作用是读取文件内容
//传入参数为两个 第一个是文件位置和文件名 第二个是encoding指定编码集 不写没有指定encoding 默认为buffer 最后是回调函数(不指定编码集 这就是第二个参数)
//对于第二个回调函数 readFile会传入两个参数 第一个是错误信息 第二个是文件内容
//如果没有错误 那么第一个错误信息传入的就是null
//如果有错误 文件内容就是undefined
fs.readFile('test_file/背.txt','utf-8',(err,data) => {
if(err == null){
//当为错误信息为null 说明没错
console.log(data);
}
else{
console.log(err);
}
})
fs的writeFile方法
let content = 'wdnmd I can`t breathe';
//writeFile是fs中的方法 作用是写入文件内容 传入参数为两到三个
//第一个是文件位置和文件名 第二个是要写入的内容(可以是变量,也可以是字符串) 最后是回调函数(没有写入内容 这就是第二个参数)
//对于第一个参数如果该文件存在 就直接覆写 不存在就自动创建文件 如果是路径中的文件夹不存在 就会在直接报错
//对于回调函数 writeFile会传入一个参数是错误信息 如果没有错误 那么错误信息传入的就是null
fs.writeFile('test_file/写.txt',content,(err) => {
if(err == null){
//当为错误信息为null 说明没错
console.log('文件写入成功');
}
else{
console.log(err);
}
})
同步异步
const fs = require('fs');//导包
//同步 代码从上到下执行 上面的没执行完 下面的就得等着
// console.log('hehe');
// for(var i = 0; i < 100; i++){
// console.log(i);
// }
// console.log('haha');
//异步 代码先执行主要的代码(同步的代码) 再去做次要代码 setTimeout就属于次要的 次要的就是一些比较消耗时间的任务
//异步有个任务队列 事件队列 谁先执行完谁先出结果
//异步一定会等所有的同步代码执行完才会执行 不管同步代码多么耗时
// console.log('hehe');
// setTimeout(() => {
// console.log('aaaaaaaaaaaaaa')
// },1000);
// console.log('haha');
//fs读写文件就是异步代码 因为冲磁盘读取和写入的速度远远低于 cpu运算速度
// console.log('hehe');
// fs.readFile('test_file/背.txt','utf-8',(err,data) => {
// if(err == null){//当为错误信息为null 说明没错
// console.log(data);
// }
// else{
// console.log(err);
// }
// })
// console.log('haha');
//fs中有让读文件操作变为同步的方法 readFileSync
console.log('hehe');
//与readFile大体一样 但是他没有回调函数这个参数 他是将读取的内容作为返回值
//用到同步是为了保证代码是按顺序的 不会出现顺序的颠倒等问题 但是这样效率会低于异步
let data = fs.在 ('test_file/背.txt','utf-8');
console.log(data);
console.log('haha');