糖果派对官方网站_可以赌钱的糖果游戏_手机版
【bb电子糖果派对】Node.js主要模块fs的就学总计

【bb电子糖果派对】Node.js主要模块fs的就学总计

作者:网络编程    来源:未知    发布时间:2020-01-29 19:42    浏览量:

bb电子糖果派对 1form.jpg

3.fs.open
格式:fs.open(path, flags, [mode], [callback(err, fd)])
path:文件路线
flags:能够是以下值
 r :以读取格局张开文件。
 r+ :以读写形式打开文件。
 w :以写入情势打开文件,假使文件不设有则创建。
 w+ :以读写方式展开文件,若是文件不设有则开创。
 a :以增添格局张开文件,倘使文件不设有则开创。
 a+ :以读取追加形式展开文件,假如文件不设有则开创。
mode:创立时给文件钦定权限,私下认可值:0666
callback:将传递一个文件陈述符fd

1、fs.read()

先介绍fs.open(path, flags, [mode], callback卡塔尔国方法,此办法用于张开文件,以便fs.read(卡塔尔读取。

  • path是文件路线
  • [mode]是文本的权位(可选参数,暗中同意值是0666)
  • callback是回调函数。
  • flags是展开文件的方式.flags的值:
  • -r:读取文件,文件不设不常报错;
  • r+:读取并写入文件,文件不设不常报错;
  • rs:以贰只形式读取文件,文件不设一时报错;
  • rs+:以二头方式读取并写入文件,文件不设一时报错;
  • w:写入文件,文件不设有则成立,存在则清空;
  • wx:和w近似,不过文件存在时会报错;
  • w+:读取并写入文件,文件空头支票则开创,存在则清空;
  • wx+:和w+一样,然而文件存在时会报错;
  • a:以充实情势写入文件,文件不设有则创建;
  • ax:和a相近,可是文件存在时会报错;
  • a+:读取并增加写入文件,文件空头支票则创制;
  • ax+:和a+同样,可是文件存在时会报错。

<p>从前在看《一本周密的Node.js教程》在书中最后的片段,小编达成了图片上传并在别的二个页面中显得的意义。对图片举行保存是透过对央浼的form表单进行分析,如下:

1.fs.readFile
格式:fs.readFile(filename,[endcoding],[callback(err,data)])
文件名称:filename
【bb电子糖果派对】Node.js主要模块fs的就学总计。Endcoding:utf-8
callback:回调函数,error是大错特错重临时
data是回调成功后的从头到尾的经过

豆蔻年华、同步和异步

运用require('fs'卡塔尔载入fs模块,模块中兼有办法都有联合和异步三种样式。
异步方法中回调函数的率先个参数总是留给万分参数(exception),假设情势成功落成,那么那么些参数为null可能undefined。

异步方法实例代码(无需在设想机中编辑):
<pre>
var fs = require('fs'); // 载入fs模块
fs.unlink('/tmp/shiyanlou', function(err) {
if (err) {
throw err;
}
console.log('成功删除了 /tmp/shiyanlou'卡塔尔;
});
</pre>
联合方法实例代码(无需在虚构机中编辑):
<pre>
var fs = require('fs');

fs.unlinkSync('/tmp/shiyanlou'卡塔尔(قطر‎; // Sync 表示是一齐方法
console.log('成功删除了 /tmp/shiyanlou'卡塔尔(قطر‎;
</pre>

同步方法执行完并返回结果后,才能执行后续的代码。而异步方法采用回调函数接收返回结果,可以立即执行后续的代码

fs.read:

<p>fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)]卡塔尔是POSIX read函数的卷入,相比fs.readFile提供了更底层的接口。fs.read的效益是从钦赐的文书陈诉符fd中读取数据并写入buffer指向的缓冲区对象。offset是buffer的写入偏移量。length是要从文件中读取的字节数。position是文本读取的序幕地方,要是position的值为null,则会从今今后时此刻文件指针的地点读取,回调函数字传送递bytesRead和buffer,分别表示读取的字节数和缓冲区指标。

  • fs.mkdir fs.mkdir(path,[mode],callback卡塔尔(قطر‎,创设目录。
  • fs.readdir fs.readdir(path,callback卡塔尔(قطر‎,读取目录,callback(err, filesState of Qatar,files数组传回的是读取的目录下具有文件的文件名称。
  • fs.rename fs.rename(oldPath, newPath, callbackState of Qatar,重命名文件。
  • fs.exists fs.exists(path,callback卡塔尔国,查看文件与目录是或不是留存
  • fs.stat fs.stat(path, callbackState of Qatar查看文件消息。

<p>首先编写同步读取八个不小的文书的次序:

bb电子糖果派对 2同步读取程序.jpg

结果:

bb电子糖果派对 3联手读取结果.jpg很明显,是同台到位的。再来看看异步的次序:bb电子糖果派对 4异步读取程序.jpg

异步读取的结果:

bb电子糖果派对 5异步结果.jpg

<p>诡异的专门的学业时有发生了,程序先举行完了,耗费时间36飞秒。第二个文本很小,先读完,仅花了145纳秒,第二个公文十分大,读完生机勃勃共花了345纳秒。不过完全上比同步读取速度快。

运转结果则是:
bytesRead: 8
<Buffer 54 65 78 74 20 e6 96 87>

2、读取目录

接收fs.readdir(path, callback卡塔尔读取文件目录。
在家目录下新建readdir.js文件,输入如下代码并保留:
<pre>
var fs = require('fs'); // 引入fs模块
fs.readdir('./newdir', function(err, files) {
if (err) {
throw err;
}
// files是三个数组
// 每一个元素是此目录下的文书或文件夹的称号
console.log(files);
});
</pre>
运作代码:
<pre>shiyanlou:~/ $ node readdir.js</pre>

<p>展开node.js的法定文书档案,对fs的介绍一览无遗:fs模块是文件操作的包裹,它提供了文本读取、写入、更名、删除、遍历目录、链接等POSIX文件系统操作。与任何模块区别的是,fs模块中全数的操作都提供了异步的和同盟的八个本子。<p>个中,异步的办法的结尾二个参数往往是成就之后的回调函数,而那个回调函数的率先个参数往往是err。假若操作成功做到,那么那些参数将会是null只怕undefined。当对文本的操作是豆蔻梢头层层有各样的操作时,应该使用回调嵌套。或然接受同步的本子。<p>下面从最简便易行的读写从前介绍。

2.fs.readFileSync
格式:fs.readFileSync(filename, [encoding]State of Qatar是 fs.readFile 同步的本子。

2.fs.close(fd, [callback])

用以关闭文件,fd是所张开文件的公文陈诉符。
fs.read(fd, buffer, offset, length, position, callback)
措施接受6个参数。

  • fd是文件描述符,必需选用fs.open()方法中的回调函数重回的第贰个参数;
  • buffer是寄存读取到的数额的Buffer对象;
  • offset钦点向buffer中贮存数据的开端地方;
  • length钦点读取文件中数据的字节数;
  • position钦点在文书中读取文件内容的开场地方;
  • callback是回调函数,回调函数的参数:
  • err用于抛出十一分;
  • bytesRead是从文件中读取内容的骨子里字节数;
  • buffer是被读取的缓存区对象。

在家目录中新建文件testread.txt,在文书中随机输入一些剧情,然后新建read.js文件,
输入如下代码并保留:
<pre>
var fs = require('fs'); // 引入fs模块
// 张开文件
fs.open('./testread.txt', 'r', function(err, fd) {
if (err) {
throw err;
}
console.log('open file success.');
var buffer = new Buffer(255);
// 读取文件
fs.read(fd, buffer, 0, 10, 0, function(err, bytesRead, buffer) {
if (err) {
throw err;
}
bb电子糖果派对,// 打字与印刷出buffer中存入的数码
console.log(bytesRead, buffer.slice(0, bytesRead).toString());
// 关闭文件
fs.close(fd);
});
});
</pre>
运路程序:
<pre>shiyanlou:~/ $ node read.js</pre>

上一篇:没有了
下一篇:没有了
友情链接: 网站地图
Copyright © 2015-2019 http://www.tk-web.com. bb电子糖果派对有限公司 版权所有