当前位置: 首页 > news >正文

购物网站运营人力资源培训

购物网站运营,人力资源培训,企业收录网站,景宁建设局网站node js访问文件夹多年来,JavaScript对文件系统的访问非常有限。 当然,JavaScript在其生命的大部分时间内都存在于浏览器中。 对于Web脚本语言,访问文件系统被视为主要的安全风险。 前端开发人员被迫使用Cookie, Web存储 &#xf…

node js访问文件夹

多年来,JavaScript对文件系统的访问非常有限。 当然,JavaScript在其生命的大部分时间内都存在于浏览器中。 对于Web脚本语言,访问文件系统被视为主要的安全风险。 前端开发人员被迫使用Cookie, Web存储 , ActiveX ,Flash和其他技术。 HTML5带来了文件系统API ,但在Chrome之外仍基本上不受支持 。 随着Node.js的出现,JavaScript开始成为一种合法的服务器端语言。 在服务器上,文件系统访问是经常发生的事情,因此对API的考虑就更少了。

文件系统模块

默认情况下,Node.js安装附带文件系统模块fs 。 在大多数情况下, fs只是为标准文件操作提供了一个包装器。 以下示例使用文件系统模块将文件的内容读取到内存中。 首先,在第1行上导入文件系统模块。在第3行上, exists()函数确定文件“ foo.txt”是否存在。 exists()回调函数采用布尔参数,该布尔参数指定文件是否存在。 从那里, stat()函数用于确定文件的长度(以字节为单位)。 此信息很重要,因此我们知道要读取多少数据。

接下来,我们使用open()打开文件。 r参数表示文件正在打开以供读取。 open()回调函数提供了文件描述符 fd用于访问新打开的文件。 在回调函数内部,我们定义了一个缓冲区来保存文件的内容。 请注意,缓冲区已初始化为文件大小,该大小存储在stats.size 。 接下来,使用read()函数将文件读入缓冲区。 缓冲区现在包含从文件读取的原始数据。 为了显示数据,我们必须首先将其转换为UTF-8编码的字符串。 最后,文件内容被打印到控制台,并且文件被关闭。

var fs = require("fs");
var fileName = "foo.txt";
fs.exists(fileName, function(exists) {
if (exists) {
fs.stat(fileName, function(error, stats) {
fs.open(fileName, "r", function(error, fd) {
var buffer = new Buffer(stats.size);
fs.read(fd, buffer, 0, buffer.length, null, function(error, bytesRead, buffer) {
var data = buffer.toString("utf8", 0, buffer.length);
console.log(data);
fs.close(fd);
});
});
});
}
});

同步功能

查看文档时,您可能会注意到许多功能都以Sync结尾。 它们代表同步功能,这在Node.js的回调驱动世界中很少见。 为方便起见,提供了同步功能。 例如,用Node.js编写的简单批处理脚本可能无需担心性能最大化。 同步功能对于在程序初始化期间加载某些文件也很有用。 但是,在活动的服务器应用程序中,同步功能可能会因停止Node的单执行线程而严重影响性能。

下面的示例说明如何将文件同步和异步读入内存。 至少可以说,我们之前的读取文件的示例有些复杂。 这次,我们的示例使用readFile()函数在单个函数调用中读取整个文件。 readFile()的前两个参数是文件名及其编码。 遵循Node.js约定,最后一个参数是回调函数。 回调函数的参数提供错误信息和文件内容。

var fs = require("fs");
fs.readFile("foo.txt", "utf8", function(error, data) {
console.log(data);
});

以下示例使用readFileSync()同步执行相同的任务。 同步代码更具可读性,但是不提供与异步代码相同的可伸缩性。

var fs = require("fs");
var data = fs.readFileSync("foo.txt", "utf8");
console.log(data);

观看文件

文件系统模块允许程序监视对特定文件的修改。 这在诸如nodemon之类的程序中非常有用,该程序在修改源代码后会自动重新启动程序。 以下示例监视名为“ foo.txt”的文件。 修改文件后,事件类型将打印到控制台。

var fs = require("fs");
var fileName = "foo.txt";
fs.watch(fileName, {
persistent: true
}, function(event, filename) {
console.log(event + " event occurred on " + filename);
});

watch()函数采用三个参数。 第一个参数是要监视的文件的名称。 第二个参数是可选的,并提供配置设置。 如果存在,则第二个参数应该是一个包含名为persistent的布尔值的对象。 如果为true ,则persistent阻止程序终止。 如果省略第二个参数,则默认为true 。 最后一个参数是在修改目标文件时触发的回调。 回调传递事件的类型(更改,重命名等)和文件名。 值得注意的是watch()依赖于底层操作系统,并且可能不适用于每个系统。 如果watch()不可用,则较慢的watchFile()可用作备份。

结论

本文从很高的层次介绍了Node.js文件系统模块。 该模块包含50多种不同的功能,对于一篇文章来说显然太多了。 例如,本文仅涉及读取文件,而完全忽略了写入文件。 我鼓励您浏览模块文档以更深入地了解。 请记住,同步功能应格外小心!

翻译自: https://www.sitepoint.com/accessing-the-file-system-in-node-js/

node js访问文件夹

http://www.lbrq.cn/news/2432395.html

相关文章:

  • 商城网站设计费用网络营销案例有哪些
  • 仿牌网站安全电商培训课程
  • 自适应网站做百度推广找客户资源的软件免费的
  • 玩具网站建设策划书最好的bt磁力搜索引擎
  • wordpress short ping杭州市优化服务
  • php动态网站开发 唐四全达seo
  • 做网站搜索结果的代码友链通
  • 技术支持 天空网络-临汾做网站重庆人力资源和社会保障网
  • 国家工业和信息化部网站备案系统sem是什么检测分析
  • 北流建设局网站电商平台营销策划方案
  • 建设网站前的市场分析主要包括哪些内容网络营销策划推广公司
  • 建设银行的网站首页查询网入口
  • 嘉兴做毛织的有哪些网站济南网站建设哪家便宜
  • 有好的学网站建设的书吗网店推广分为哪几种类型
  • 公司请外包做的网站怎么维护搜索引擎营销的内容
  • 网站建设公司基本流程文职培训机构前十名
  • 深圳做网站应该怎么做深圳网络营销网站设计
  • 350做网站深圳新浪博客
  • 宁波建设工程报名网站十堰seo优化方法
  • 含山建设局网站辽源seo
  • 网站图片切换怎么做2023年最新新闻简短摘抄
  • 北京网站建设模板案例重庆seo扣费
  • 做网站卖旺道优化软件
  • 网站绑定微信号百度推广充值必须5000吗
  • 上海网站建设渠道苏州百度推广开户
  • wordpress调用多个分类seo的工作原理
  • 常用的网站推广方法seo在线优化网站
  • fla可以做网站么有道搜索
  • 深圳网站建设网站制作精品成品网站源码
  • 众网站全球中文网站排名
  • 力扣-链表相关题 持续更新中。。。。。。
  • 【AI时代速通QT】第五节:Qt Creator如何引入第三方库,以OpenCV为例
  • 【qml-3】qml与c++交互第二次尝试(类型方式)
  • 金仓数据库:融合进化,智领未来——2025年数据库技术革命的深度解析
  • Web服务压力测试工具hey学习一:使用方法
  • 笔试——Day13