nodejs怎么删除文件插图

本教程操作环境: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 教程》】

以上就是nodejs怎么删除文件的详细内容,更多请关注亿码酷站其它相关文章!


<!–亿码酷站直播班–>nodejs怎么删除文件
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!