首页前端开发JavaScript分享一些Nodejs常用文件fs模块API(总结)

分享一些Nodejs常用文件fs模块API(总结)

时间2024-01-30 04:25:03发布访客分类JavaScript浏览824
导读:收集整理的这篇文章主要介绍了分享一些Nodejs常用文件fs模块API(总结),觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章整理记录了工作中常用的一些Nodejs文件fs模块API,免的下次又忘了。作为一个web开发工程师,免不...
收集整理的这篇文章主要介绍了分享一些Nodejs常用文件fs模块API(总结),觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章整理记录了工作中常用的一些Nodejs文件fs模块API,免的下次又忘了。

作为一个web开发工程师,免不了跟Nodejs打交道,其中的fs模块非常有用,可以执行一些文件相关的操作,可总是记了忘、忘了记。今天打算再整理记录一下,免的下次又忘了。

同步与异步

fs模块的文件操作一般支持同步和异步两种API,异步又包括了回调函数和promsie的形式。同步一般后面带sync字样。【推荐学习:《nodejs 教程》】

打开、关闭文件

fs.oPEn(path:string,callback:(err,fd)=> void)用于打开文件,获取文件描述符(file descriptor),基于拿到的文件描述符做文件操作。fs.close(fd:number,callback:(err)=> void)用于关闭文件

//打开文件fs.open(path,(err,fd)=>
{
        //针对拿到的fd 进行操作        //关闭文件    fs.close(fd, (err) =>
 {
            if (err) throw err;
    }
    );
}
    )

一般用于对文件做多种操作时使用。如果你仅仅想读取文件的内容建议用fs.reaDFile

读取文件(目录)

读取文件:fs.readFile(path:string,callback:(err,data)=> void)

fs.readFile(path,(err,data)=>
{
    //string或者buffer    console.LOG(data)}
    )

读取目录:fs.readdir(path:string,callback:(err,files:Arraystring> )=> void)

fs.readdir("./dir",(err,filenames)=>
{
    console.log(fileNames)}
    )

还有一种方式通过文件描述符来读取:

fs.read(fd,buffer,offset,length,posITion,callback:(err,bytesLen,buffer)=> void)

//分配一块长度为10的缓存区const buffer = Buffer.alloc(10);
    //打开文件fs.open(path,(err,fd)=>
{
        //针对拿到的fd 进行操作:将fd对应的文件内容读取到buffer里    //position为文件的起点    //length为读取的长度    //offset为缓存区起读的位置    fs.read(fd,buffer,offset,length,position,(err,bytesLen,buffer)=>
{
            //buffer为包含读到数据的原始Buffer对象        //bytesLen === length;
// true    }
    )    //关闭文件    fs.close(fd, (err) =>
 {
            if (err) throw err;
    }
    );
}
    )

写入文件

将数据写入文件,数据可以是字符串buffer:fs.writeFile(path,data,callback:(err)=> void)

fs.writeFile('message.txt', data, (err) =>
 {
      if (err) throw err;
}
    );
    

还有另一种方式,通过文件描述符fd来写文件:

fs.open(path,(err,fd)=>
{
        //针对拿到的fd 进行操作:将buffer内容写如fd对应的文件里    //position为文件的起点    //length为待写的长度    //offset为缓存区起写的位置    fs.write(fd,buffer,offset,length,position,(err,bytesWrittenLen,buffer)=>
{
    }
    )    //关闭文件    fs.close(fd, (err) =>
 {
            if (err) throw err;
    }
    );
}
    )

删除文件(目录)

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

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

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

查看目录(文件)的状态信息

fs.stat(path,(err,stat)=>
{
    //stat包含了该目录或文件的大小、创建时间、更新时间,是目录还是文件等    //stats.isDirectory()    //stats.isFile()}
    )

重命名

重命名包括重命名文件和目录

//文件fs.rename('oldFile.txt', 'newFile.txt', (err) =>
 {
      if (err) throw err;
      console.log('Rename complete!');
}
    );
    //目录fs.rename('oldFileDir', 'newFileDir', (err) =>
 {
      if (err) throw err;
      console.log('Rename complete!');
}
    );
    

最后

感谢阅读,如果有任何的问题欢迎留言讨论,谢谢!

更多编程相关知识,请访问:编程入门!!

以上就是分享一些Nodejs常用文件fs模块API(总结)的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

Nodejs文件系统

若转载请注明出处: 分享一些Nodejs常用文件fs模块API(总结)
本文地址: https://pptw.com/jishu/592037.html
如何通过js程序删除数组重复项(忽略大小写敏感) 手把手教你使用Angular CDK Portal创建动态内容

游客 回复需填写必要信息