文件系统(fs模块)

一、打开和关闭文件  //在不同的操作系统中表现有所不同

  • var fd=fs.open(path,flags,[mode],callback)  //返回一个整型  表示打开的文件对象
  • fs.close(fd,callback)

附:flags参数表,表示打开文件的模式

  • ‘r‘ - Open file for reading. An exception occurs if the file does not exist.
  • ‘r+‘ - Open file for reading and writing. An exception occurs if the file does not exist.
  • ‘rs+‘ - Open file for reading and writing in synchronous mode. Instructs the operating system to bypass the local file system cache.

    This is primarily useful for opening files on NFS mounts as it allows you to skip the potentially stale local cache. It has a very real impact on I/O performance so don‘t use this flag unless you need it.

    Note that this doesn‘t turn fs.open() into a synchronous blocking call. If that‘s what you want then you should be using fs.openSync()

  • ‘w‘ - Open file for writing. The file is created (if it does not exist) or truncated (if it exists).
  • ‘wx‘ - Like ‘w‘ but fails if path exists.
  • ‘w+‘ - Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists).
  • ‘wx+‘ - Like ‘w+‘ but fails if path exists.
  • ‘a‘ - Open file for appending. The file is created if it does not exist.
  • ‘ax‘ - Like ‘a‘ but fails if path exists.
  • ‘a+‘ - Open file for reading and appending. The file is created if it does not exist.
  • ‘ax+‘ - Like ‘a+‘ but fails if path exists.

二、写入文件

1、简单文件写入

  fs.writeFile(fileName,data,[opations],callback)

  • fineName:指定文件
  • data:指定将被写入到文件的String或Buffer对象
  • opations:是一个对象,可以包含定义字符串编码,以及打开文件时使用的模式和标志的encoding、mode和、flag属性
  • callback:当文件写入已经完成时被调用的函数

2、同步文件写入

  var fd=fs.opneSync(path,flags[,mode])

  fs.writeSync(fd,buffer,offset,length[,position])

  fs.writeSync(fd,data[,position][,encoding])

  fs.closeSync(fd)

  • path:指定文件
  • flags:指定打开文件的模式
  • mode:设置文件的访问模式
  • fd:整数,代表文件对象,一般是fs.open()函数的返回值
  • data:写入的数据
  • buffer:缓冲数据
  • offset/length: 确定从哪个位置开始写入buffer。

3、异步写入文件

  • fs.open(path, flags[, mode], callback)  //借助callback(err,fd)函数实现异步写入文件
  • fs.write(fd, buffer, offset, length[, position], callback)
  • fs.write(fd, data[, position[, encoding]], callback)
  • fs.close(fd)

4、流式文件写入

  • var fileWriteStream=fs.createWriteStream(path[,options])
  • fileWriteStream.write(data)
  • fileWriteStream.on("close",handler)  //end方法执行后调用
  • fileWriteStream.end()

三、读取文件(同上)

1、简单文件读取

  • fs.readFile(file[, options], callback)

2、同步文件读取

  • fs.readSync(fd, buffer, offset, length, position)

3、异步文件读取

  • fs.read(fd, buffer, offset, length, position, callback)

4、流式文件读取

  • fs.createReadStream(path[, options])
  • data事件和close事件

四、其他文件系统任务

1、fs.stat(path, callback)  //获取文件信息

  • stats.isFile()  //如果该条目是一个文件,返回true
  • stats.isDirectory()  //如果条目是一个目录,返回true
  • stats.isBlockDevice()  //
  • stats.isCharacterDevice()  //
  • stats.isSymbolicLink() (only valid with fs.lstat())  //
  • stats.isFIFO()  //
  • stats.isSocket()  如果条目是一个套接字,返回true

2、列出文件(列出path路径的所有子目录,以数组方式存储)

  • fs.readdir(path[, options], callback)

3、删除文件

  • fs.unlink(path,callback)

4、截断文件

  • fs.truncate(path, len, callback)  //从文件开始出截取len长度,将其后舍弃

5、建立和删除目录

  • fs.mkdir(path[, mode], callback)  //建立
  • fs.rmdir(path, callback)  //删除

6、重命名文件和目录

  • fs.rename(oldPath, newPath, callback)

7、监视文件更改入

  • fs.watchFile(filename[, options], listener)  //options包含peristent(是否持续)和interval(间隔检查)属性
时间: 2024-10-06 02:57:30

文件系统(fs模块)的相关文章

Node.js 文件系统fs模块

Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync().我们以几个函数为代表,介绍 fs 常用的功能,并列出 fs 所有函数 的定义和功能. 一.fs 模块函数表 二.fs 部分API fs.readFile Node.js读取文件函数语法如下

Node.js 初识 fs 模块

fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 Unix 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了 同步 和 异步 两个版本,比如读取文件内容的函数有 异步的 fs.readFile() 和 同步的 fs.readFileSync(). Node.js 导入文件系统模块的语法如下: var fs = require('fs'); 1.异步和同步读取文件 fs.readFile(file[, options], callback(err,

node基础学习——操作文件系统fs

p.p1 { margin: 0.0px 0.0px 10.0px 0.0px; text-align: center; line-height: 11.0px; font: 14.0px "PingFang SC Semibold"; color: #000000 } p.p2 { margin: 0.0px 0.0px 10.0px 0.0px; text-indent: 36.0px; line-height: 11.0px; font: 9.0px "PingFang

nodejs入门API之fs模块

fs模块下的类与FS常量 fs模块下的主要方法 fs的Promise API与FileHandle类 一.fs模块下的类 1.1 fs.Dir:表示目录流的类,由 fs.opendir().fs.opendirSync() 或 fsPromises.opendir() 创建. 1.2 fs.Dirent:目录项的表现形式,通过从fs.Dir中读取返回. 1.3 fs.FSWatcher:继承自 <EventEmitter>,调用 fs.watch() 方法返回该对象.每当指定监视的文件被修改时

nodejs学习笔记一( sublime、atom开发环境,http模块,fs模块的初识)

http服务 let server = http.createServer(function(req,res){ }); 监听: server.listen(8080); request       请求 response     相应 编辑器配置相应的环境 sublime: 依次打开  Tools --> Build System --> new Build System 中文:工具 --> 编译系统 --> 新建编译系统 输入以下代码,保存配置文件,然后 使用快捷键 Ctrl

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

利用async和await异步操作解决node.js里面fs模块异步读写,同步结果的问题

async await 解决异步问题,这两个关键字是es7提出的,所以测试,node和浏览器版本提高一些 async await 操作基于promise实现的 async await这两个关键字是一起使用,分开使用会报错 await 后面只能跟promise对象 不熟悉的promise异步操作的朋友,去看看我promise那边文章 Promise 解决多层嵌套,回调地狱什么叫回调地狱写一个实例,就是恶心的多层欠嵌套 function a(){ function b(){ function c()

文本操作模块-fs模块(五)

fs模块是一个比较庞大的模块,在前面也介绍了该模块中最核心的一点东西,虽然核心的这点东西,在整个fs模块中占据的比例比较小,但是如果只是我们平常使用的话,基本已经够用了,其他的一些方法,属于能力提升时需要学习的的内容了,所以在后面就不再继续了,本篇属于fs模块中的最后一篇,也不是把fs模块中的其他API都给一一列举出来,这里再说最后一个我看来很重要的方法,监听文件或者目录的的方法watchFile. 概总 这里之所以在最后把这个watchFile方法写入到这里,是因为在前端的一个流行的构建工具g

12.文件系统fs

文件系统fs ==> 提供文件的读取, 写入, 更名, 删除, 遍历目录, 链接等POSIX文件系统操作 1.fs.readFile(filename, [encoding], [callback(err, data)]) ==> 最简单的读取文件的函数 第一个参数filename ==> 表示要读取的文件名 第二个参数encoding(可选) ==> 表示文件的字符编码 callback是回调函数, 用于接收文件的内容, 如果不指定encoding,则callback就是第二个参