NodeJs之fs的读写删移监块

NodeJs版本:4.4.4

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的形式返回。
<Buffer 76 61 72 20 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 20 3d 20 72 65 71 75 69 72 65 28 27 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 27 29 3b 0d 0a 76 61 72 ... >

设置为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){})

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

打开文件(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+‘, 但是如果文件路径存在,则文件读取追加失败。
时间: 2024-08-01 21:02:37

NodeJs之fs的读写删移监块的相关文章

Nodejs mysql 数据库增、删、改、查 操作

Nodejs mysql的增.删.改.查操作 Nodejs连接mysql的增.删.改.查操作(转载 自:http://blog.sina.com.cn/s/blog_5a6efa330102vctw.html) 一.准备 nodejs的教程,大多以操作mongodb为示例.但是mongodb有一些局限性,具体官网上有说.我打算用MySQL,因为多少还有点使用经验.先以研究为主.node-mysql,是目前最火的node下的mysql驱动.初步了用了一下,因为异步回调的这种方式,果然好多坑. 下面

【nodejs】 文件系统(fs) 之读写文件

//写入文件 var data = "hello world"; fs.writeFile('c:\\a.txt', data, 'ascii', function(err) { if (err) { console.log('写入文件失败'); } else { console.log('保存成功, 赶紧去看看乱码吧'); } }); //读取文件 fs.readFile('c:\\a.txt', 'ascii', function(err, data) { if (err) { c

简单的nodejs 文件系统(fs)读写例子。

在nodejs中,可以通过fs(file system)模块进行文件的I/O操作. API链接地址: http://nodeapi.ucdok.com/#/api/fs.html 下面进行fs文件系统的使用实例: 1.模块调用声明: var fs= require('fs'); var path = require('path'); fs为文件模块,path为系统路径模块. 2.可以使用writeFile方法,将数据写入文件到某个文件夹下. fs.writeFile(filename, data

nodeJS之fs文件系统

前面的话 fs文件系统用于对系统文件及目录进行读写操作,本文将详细介绍js文件系统 概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的. 通过 require('fs') 使用该模块. 所有的方法都有异步和同步的形式. 异步形式始终以完成回调作为它最后一个参数. 传给完成回调的参数取决于具体方法,但第一个参数总是留给异常. 如果操作成功完成,则第一个参数会是 null 或 undefined //异步示例 var fs = require('fs'); fs.unlink('/tmp

nodejs 文件系统(fs) 删除文件夹 及 子文件夹下的所有内容

http://blog.163.com/hule_sky/blog/static/2091622452015112821829773/ node 文件系统fs 为我们提供了一些方法 进行文件和文件夹的读写删除等操作 下边将介绍删除文件夹及子文件夹下的所有内容的相关命令(均含有同步和异步方法) 1. fs.stat && fs.statSync 提供了访问文件的属性信息 2. fs.readdir && fs.readdirSync 提供读取文件目录信息 3. fs.unli

node 之 fs流读写

前面我们已经学习了如何使用fs模块中的readFile方法.readFileSync方法读取文件中内容,及如何使用fs模块中的writeFile方法.writeFileSync方法向一个文件写入内容. 用readFile方法或readFileSync方法读取文件内容时,Node.js首将文件内容完整地读入缓存区,再从该缓存区中读取文件内容.在使用writeFile方法或writeFileSync方法写入文件内容时,Node.js首先将该文件内容完整地读人缓存区,然后一欠性将缓存区中内容写入到文件

大熊君大话NodeJS之------FS文件模块

一,开篇分析 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集.可以通过调用 require("fs") 来获取该模块.文件系统模块中的所有方法均有异步和同步版本. (1),文件系统模块中的异步方法需要一个完成时的回调函数作为最后一个传入形参. (2),回调函数的构成由调用的异步方法所决定,通常情况下回调函数的第一个形参为返回的错误信息. (3),如果异步操作执行正确并返回,该错误形参则为null或者undefined.如果使用的是同步版本的操作方法,一旦出现错误

NodeJs+http+fs+request+cheerio 采集,保存数据,并在网页上展示(构建web服务器)

目的: 数据采集 写入本地文件备份 构建web服务器 将文件读取到网页中进行展示 目录结构: package.json文件中的内容与上一篇一样:NodeJs+Request+Cheerio 采集数据 request :https://github.com/request/request 使得请求变得更容易,简单 cheerio:https://github.com/cheeriojs/cheerio 用来解析dom结构,类似jQuery,挺好用 app.js文件: /** * 数据采集 * 写入

nodejs之fs模块

nodejs中的file system文件系统模块 1.文件的读取readFile //引入文件系统模块 const fs = require('fs'); //文件读取是异步操作 fs.readFile('1.txt', (err,data)=>{ if(err){ console.log('读取出错'); }else{ console.log(data); } }); 1.txt文件内容如下: 效果如下: 解释:a对应十进制值为97,然后97进行转成十六进制就是61 2.文件写入writeF