千家信息网

nodejs如何删除文件

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,小编给大家分享一下nodejs如何删除文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:1、使用"var fs=re
千家信息网最后更新 2024年09月30日nodejs如何删除文件

小编给大家分享一下nodejs如何删除文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

方法:1、使用"var fs=require('fs');"引入fs模块;2、使用"fs.unlink(path,callback:(err)=>void)"或者"fs.rm(path,callback:(err)=>void)"删除文件。

本教程操作环境:windows7系统、nodejs 14.15.4版,DELL G3电脑。

在nodejs中,可以利用文件文件系统模块(简称 fs)的内置方法来删除文件/目录。

fs模块允许我们访问计算机上的文件系统并与之交互。使用 fs 模块,我们可以执行以下操作:

  • 创建文件和目录

  • 修改文件和目录

  • 删除文件和目录

  • 读取文件和目录的内容

  • ...

删除文件(目录)

首先引入 fs 模块:var fs=require('fs');

然后使用以下方法删除文件(目录)

  • 删除文件:fs.unlink(path, callback:(err)=>void)

  • 删除目录:fs.rmdir(path,callback:(err)=>void)

  • 同时支持删除目录和文件:fs.rm(path,callback:(err)=>void)

示例:创建、删除目录(文件),读取写入文件流

/*  1. fs.stat  检测是文件还是目录(目录 文件是否存在)  2. fs.mkdir  创建目录 (创建之前先判断是否存在)  3. fs.writeFile  写入文件(文件不存在就创建,但不能创建目录)  4. fs.appendFile 写入追加文件  5.fs.readFile 读取文件  6.fs.readdir 读取目录  7.fs.rename 重命名  8. fs.rmdir  删除目录  9. fs.unlink 删除文件 */ var fs=require('fs');   //fs是node.js的核心模块,不用下载安装,可以直接引入   //1. fs.stat  检测是文件还是目录  fs.statSync()同步获取stats对象,通过返回值接收。fs.stat('html',function(error,stats){    if(error){        console.log(error);        return false;    }    console.log('文件:'+stats.isFile());    console.log('目录:'+stats.isDirectory());})  //2. fs.mkdir  创建目录  fs.mkdir('css',function(error){    if(error){        console.log(error);        return false;    }    console.log('创建目录成功');})  //3. fs.writeFile  写入文件(会覆盖之前的内容)(文件不存在就创建)  utf8参数可以省略  fs.writeFile('123.txt','你好nodejs 覆盖','utf8',function(error){    if(error){        console.log(error);        return false;    }    console.log('写入成功');})  //4. fs.appendFile 追加文件  fs.appendFile('123.txt','这是写入的内容\n',function(error){    if(error){        console.log(error);        return false;    }    console.log('写入成功');})  //5.fs.readFile 读取文件  fs.readFile('123.txt',function(error,data){    if(error){        console.log(error);        return false;    }    //console.log(data);  //data是读取的十六进制的数据。  也可以在参数中加入编码格式"utf8"来解决十六进制的问题;    console.log(data.toString());  //读取出所有行的信息  })  //6.fs.readdir 读取目录下第一级内容  把目录下面的文件和文件夹都获取到。  fs.readdir('html',function(error,data){    if(error){        console.log(error);        return false;    }    console.log(data);  //data是数组类型,包含文件夹以及文件的名字(只有第一级目录内容)。拿到一个文件夹下面的所有目录  })  //7.fs.rename 重命名  1.改名  2.剪切文件(移动)  fs.rename('html/index.html','html/news.html',function(error){    if(error){        console.log(error);        return false;    }    console.log('修改名字成功');})  //8. fs.rmdir  删除目录   rmdir 这个方法只能删除目录,不能删除文件  fs.rmdir('abc目录',function(error){    if(error){        console.log(error);        return false;    }    console.log('删除目录成功');})  //9. fs.unlink删除文件  fs.unlink('index.txt',function(error){    if(error){        console.log(error);        return false;    }    console.log('删除文件成功');})  //10. fs.createReadStream  从文件流中读取数据,读取的文件比较大时建议用流的方式读取,文件比较大会多次读取。  var fileReadStream = fs.createReadStream( 'data1.json');var str = '';fileReadStream.on('data', (data) => {    console.log("接收到" + data.length);   //文件比较大时,会多次读取,多次执行该回调函数  str += data;})fileReadStream.on('end', () => {    console.log(" --- 结束 ---");console.log( str );})fileReadStream.on('error', (error) => {    console.log(error)})  //11. fs.createWriteStream  写入文件流  var fs = require("fs");var data  = "我是从数据库获取的数据,我要保存起来";var writerStream = fs.createWriteStream('output.txt');writerStream.write( data , 'UTF8' );writerStream.end();  //标记文件末尾  结束写入流,释放资源  writerStream.on( 'finish',  function() {    console.log("写入完成。");});writerStream.on( 'error',  function(error){    console.log(error.stack);});console.log("程序执行完毕");  //12. pipe 管道流  var fs = require("fs");var readerStream = fs.createReadStream( 'input.txt');var writerStream = fs.createWriteStream( 'output.txt');readerStream.pipe( writerStream );console.log("程序执行完毕");  //13. fs.access 判断目录、文件是否存在(读写权限)var  fs = require('fs');fs.access('package.json',(err)=>{    console.log(err ?  '目录/文件不存在': '文件存在,可以进行读写');});

以上是"nodejs如何删除文件"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0