NodeJs之fs的读写删移监块-创新互联

NodeJs版本:4.4.4

创新互联网站建设公司,提供成都网站设计、成都网站制作,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

fs


文件系统模块是一个封装了标准的 POSIX 文件 I/O 操作的集合。Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本。

图片的复制与粘贴

创建一个可读流与一个写入流。通过管道pipe

var fileReadStream = fs.createReadStream(sourcePath);var fileWriteStream = fs.createWriteStream(targetPath);fileReadStream.pipe(fileWriteStream);//监听关闭事件得知执行完成fileWriteStream.on('close', function() {
    console.log('移动成功!');         })

读文件(fs.readFile)

定义:fs.readFile(filename[, options], callback)

参数:

  • filename:{String} 文件名/文件路径

  • options:{Object} 可选参数

    • encoding:{String | Null} 默认 = null 编码方式

    • flag:{String} 默认 = 'r' 文件打开的行为(可写,可读等)

  • callback:{Function}

var fs = require('fs');//读取文件fs.readFile('../lianxi/child_process.js',{
    encoding:'utf-8',
    flag:'r'}, function(err,data){
    if(err) throw err;
    console.log(data);});

这里读取文件如果不设置编码方式,读取的文件就是以buffer的形式返回。

设置为utf-8后,返回的就是字符串的形式。如下:
var child_process = require('child_process');...

写文件(fs.writeFile)

定义:fs.writeFile(filename, data[, options], callback)

参数:

  • filename:{String}

  • data:{String | Buffer}

  • options:{Object}

    • encoding:{String | Null} 默认 = 'utf8'

    • mode:{Number} 默认 = 438 (aka 0666 in Octal)

    • flag:{String} 默认 = 'w'

  • callback {Function}

//写入文件fs.writeFile('../lianxi/child_process.js','[zqz]要写入的数据字符串或者buffer',{
    encoding:'utf8',
    mode:438,
    flag:'w'},function(err){})

NodeJs之fs的读写删移监块

注意:异步写文件,如果文件已经存在则替换。

打开文件(fs.open)

定义:fs.open(path, flags[, mode], callback)

参数:

  • path:文件/文件路径

  • flags:文件打开的行为

  • mode:设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。

  • callback:回调函数

//打开文件fs.open('../lianxi/child_process.js','r+',0666,function(err,data){
    })

给文件添加数据(fs.appendFile)

定义:fs.appendFile(filename, data[, options], callback)

参数:

  • filename:{String}

  • data:{String | Buffer}

  • options:{Object}

    • encoding {String | Null} 默认 = 'utf8'

    • mode {Number} 默认 = 438 (aka 0666 in Octal)

    • flag {String} 默认 = 'a'

  • callback {Function}

//给文件添加数据fs.appendFile('../lianxi/child_process.js', '异步添加的字符串或buffer', {
    encoding:'utf8',
    mode:438,
    flag:'a'}, function(err){});

注意:异步的给文件添加数据,如果文件不存在,就会创建一个文件。

删除文件(fs.unlink)

定义:fs.unlink(path, callback)

var fs = require('fs');fs.unlink('./t/index.html',function (err) {
    if(err) throw err;
    console.log('成功')})

创建文件(fs.open)

定义:fs.open(path, flags[, mode], callback)

也可以使用fs.open创建文件。

fs.open("test.txt", "w",function (err) {});

删除文件夹(fs.rmdir)

定义:fs.rmdir(path, callback)

fs.rmdir('./t/a',function (err) {
    if(err) throw err;
    console.log('成功')})

创建文件夹(fs.mkdir)

定义:fs.mkdir(path[, mode], callback)

参数:mode 默认是 to 0777.

fs.mkdir('./t/a',0777,function (err) {
    if(err) throw err;
    console.log('成功')})

文件监听(fs.watch fs.watchFile)

定义:fs.watch(filename[, options][, listener])
定义:fs.watchFile(filename[, options], listener)

fs.watch('test.js', function (event, filename) {
  });fs.watchFile('test.js', function(curr, prev){
 });

flags


Flag描述
r以读取模式打开文件。如果文件不存在抛出异常。
r+以读写模式打开文件。如果文件不存在抛出异常。
rs以同步的方式读取文件。
rs+以同步的方式读取和写入文件。
w以写入模式打开文件,如果文件不存在则创建。
wx类似 'w',但是如果文件路径存在,则文件写入失败。
w+以读写模式打开文件,如果文件不存在则创建。
wx+类似 'w+', 但是如果文件路径存在,则文件读写失败。
a以追加模式打开文件,如果文件不存在则创建。
ax类似 'a', 但是如果文件路径存在,则文件追加失败。
a+以读取追加模式打开文件,如果文件不存在则创建。
ax+类似 'a+', 但是如果文件路径存在,则文件读取追加失败。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:NodeJs之fs的读写删移监块-创新互联
当前路径:http://pwwzsj.com/article/djoecj.html