File System的缩写是fs,该模块提供本地文件的读写能力。

Nodejs导入文件系统模块(fs)语法如下所示:
var fs = require("fs");
异步和同步
Node.js文件系统(fs模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的fs.readFile()和同步的fs.readFileSync() 。
异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。同步则没有回调函数。
建议大家是用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞。
打开文件
语法如下:
fs.open(path,flags[,mode],[callback(err,data)]);//异步
path - 文件的路径。
mode - 设置文件模式(权限),文件创建默认权限为0666(可读,可写)。
callback - 回调函数,带有两个参数如:callback(err,fd) 。
flags - 文件打开的行为。具体如下:
| flag | description |
| r | 以读取模式打开文件。如果文件不存在抛出异常。 |
| r+ | 以读写模式打开文件。如果文件不存在抛出异常。 |
| rs | 以同步的方式读取文件。 |
| rs+ | 以同步的方式读取和写入文件。 |
| w | 以写入模式打开文件,如果文件不存在则创建。 |
| wx | 类似 ‘w',但是如果文件路径存在,则文件写入失败。 |
| w+ | 类似 ‘w+', 但是如果文件路径存在,则文件读写失败。 |
| wx+ | 类似 ‘w+', 但是如果文件路径存在,则文件读写失败。 |
| a | 以追加模式打开文件,如果文件不存在则创建。 |
| ax | 类似 ‘a', 但是如果文件路径存在,则文件追加失败。 |
| a+ | 以读取追加模式打开文件,如果文件不存在则创建。 |
| ax+ | 类似 ‘a+', 但是如果文件路径存在,则文件读取追加失败。 |
获取文件信息
语法如下:
fs.stat(path,[callback(err,stats)]);//异步
fs.stat(path)执行后,会将stats类的实例返回给其回调函数。可以通过stats类中的提供方法判断文件的相关属性。
stats类中的方法有:
| 方法 | 描述 |
| stats.isFile() | 如果是文件返回 true,否则返回 false。 |
| stats.isDirectory() | 如果是目录返回 true,否则返回 false。 |
| stats.isBlockDevice() | 如果是块设备返回 true,否则返回 false。 |
| stats.isCharacterDevice() | 如果是字符设备返回 true,否则返回 false。 |
| stats.isSymbolicLink() | 如果是软链接返回 true,否则返回 false。 |
| stats.isFIFO() | 如果是FIFO,返回true,否则返回 false。FIFO是UNIX中的一种特殊类型的命令管道。 |
| stats.isSocket() | 如果是 Socket 返回 true,否则返回 false。 |
写入文件
语法如下:
fs.writeFile(filename,data[,options],[callback]);//异步 fs.writeFileSync(filename,data); //同步
如果文件存在,该方法写入的内容会覆盖旧的文件内容。
data -要写入文件的数据,可以是String(字符串)或Buffer(流)对象。
options - 该参数是一个对象,包含{encoding,mode,flag}。默认编码为utf8,模式为0666,flag为'w';
追加内容
语法如下:
fs.appendFile(filename,data[,options],[callback]);//同步 fs.appendFileSync(filename,data[,options]); //同步
读取文件
语法如下:
fs.read(fd,buffer,offset,length,position,[callback]);//异步 var buf = fs.readFile(filename,[encoding],[callback(err,data)]);//异步读取 var buf = fs.readFileSync(filename,[encoding]);//同步读取
fd - 通过 fs.open() 方法返回的文件描述符。
buffer - 数据写入的缓冲区。
offset - 缓冲区写入的写入偏移量。
length - 要从文件中读取的字节数。
position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
encoding,编码格式,该项是可选的。
关闭文件
语法如下:
fs.close(fd,callback);//异步
fd - 通过 fs.open() 方法返回的文件描述符。
截取文件
语法如下:
fs.ftruncate(fd,len,callback);//异步
fd - 通过 fs.open() 方法返回的文件描述符。
len - 文件内容截取的长度。
删除文件
语法如下:
fs.unlink(path,callback);
创建目录
语法如下:
fs.mkdir(path[,mode],callback);
mode - 设置目录权限,默认为 0777。
读取目录
语法如下:
fs.readdir(path,callback);
删除目录
语法如下:
fs.rmdir(path,callback);
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# nodejs
# fs模块
# filesystem
# 模块
# Node.js 内置模块fs文件系统操作示例详解
# Node.js文件系统fs扩展fs-extra说明
# node.js中fs文件系统模块的使用方法实例详解
# node.js中fs文件系统目录操作与文件信息操作
# 浅谈Node.js:fs文件系统模块
# Node.js中的文件系统(file system)模块详解
# 不存在
# 回调
# 抛出
# 文件系统
# 类中
# 是一个
# 第一个
# 可以通过
# 更高
# 更快
# 可选
# 所示
# 这篇文章
# 均有
# 该项
# 会将
# 错误信息
# 则会
# 值为
# 要写
相关文章:
太平洋网站制作公司,网络用语太平洋是什么意思?
网站制作网站,深圳做网站哪家比较好?
内网网站制作软件,内网的网站如何发布到外网?
南平网站制作公司,2025年南平市事业单位报名时间?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
如何快速使用云服务器搭建个人网站?
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何通过山东自助建站平台快速注册域名?
公司网站的制作公司,企业网站制作基本流程有哪些?
股票网站制作软件,网上股票怎么开户?
网站制作员失业,怎样查看自己网站的注册者?
怎么将XML数据可视化 D3.js加载XML
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
如何在阿里云域名上完成建站全流程?
定制建站哪家更专业可靠?推荐榜单揭晓
建站ABC备案流程中有哪些关键注意事项?
如何快速配置高效服务器建站软件?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何快速生成高效建站系统源代码?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
建站主机选哪家性价比最高?
网站专业制作公司有哪些,做一个公司网站要多少钱?
招贴海报怎么做,什么是海报招贴?
如何有效防御Web建站篡改攻击?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
广德云建站网站建设方案与建站流程优化指南
如何通过多用户协作模板快速搭建高效企业网站?
定制建站方案优化指南:企业官网开发与建站费用解析
南京网站制作费用,南京远驱官方网站?
,网页ppt怎么弄成自己的ppt?
高端建站如何打造兼具美学与转化的品牌官网?
兔展官网 在线制作,怎样制作微信请帖?
b2c电商网站制作流程,b2c水平综合的电商平台?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
建站之星在线客服如何快速接入解答?
专业公司网站制作公司,用什么语言做企业网站比较好?
建站主机与服务器功能差异如何区分?
Python lxml的etree和ElementTree有什么区别
家庭服务器如何搭建个人网站?
建站主机功能解析:服务器选择与快速搭建指南
建站之星备案流程有哪些注意事项?
焦点电影公司作品,电影焦点结局是什么?
如何用PHP工具快速搭建高效网站?
网站微信制作软件,如何制作微信链接?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
*请认真填写需求信息,我们会在24小时内与您取得联系。