fs模块基于async/await异步读写文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38355456/article/details/78846208

1、读取文件:  fs.readFile(filename,callback);

const fs=require('fs');
const path=require('path');
const dir=path.resolve('../mkdir/index.html');
console.log(dir);

function read(dir){
    return new Promise((resolve,reject)=>{
        fs.readFile(dir,'utf-8',(err,data)=>{
            if(err){
                reject(console.log(err))
            }else{
                resolve(console.log(data))
            }
        })
    })
}

read(dir);

2、写入文件:fs.writeFile(filename,content,callback);

const fs = require('fs');
const path = require('path');
const filename = path.resolve('test2.txt');

function write() {
    return new Promise((resolve, reject) => {
        fs.writeFile(filename, '我是颜乐乐', (err, data) => {
            if (err) {
                reject(err);
            }
            resolve(console.log('写入完成'))
        });

    })
}

async function start() {
    await write();
    fs.readFile(filename,'utf-8',(err,data)=>{
        if(err){
            throw err
        }else{
            console.log(data.toString());
        }
    })
}

start();

3、追加文件内容:fs.writeFile(filename,content,{flag:'a'},callback)

const fs =require('fs');
const path=require('path');
const filename=path.resolve('test3.txt');
console.log(filename);


function write(){
    return new Promise((resolve,reject)=>{
        fs.writeFile(filename,'我希望我是追加的内容',{'flag':'a'},(err)=>{
            if(err){
                reject(err)
            }
            resolve(console.log('追加内容成功'))
        });

    })
}

async function start(){
    await write();
    fs.readFile(filename,'utf-8',(err,data)=>{
        if(err){
            console.log('读取文件失败');
            return console.log(err);
        }else{
            console.log(data.toString());
        }
    })
}

start();


4、删除文件:fs.unlink(filename,callback);

const fs=require('fs');
const path=require('path');
const filename=path.resolve('test.js');
console.log(filename);

function remove(){
    return new Promise((resolve,reject)=>{
        fs.unlink(filename,(err)=>{
            if(err){
                reject(console.log(err))
            }
            resolve(console.log('删除文件成功'))
        });
    })
}

async function start(){
    await remove();
    fs.readdir(__dirname,(err,files)=>{
        if(err){
            return console.log(err)
        }else{
            files.forEach((item)=>{
                console.log(item)
            })
        }
    })
}
start();

猜你喜欢

转载自blog.csdn.net/qq_38355456/article/details/78846208