fs文件系统模块对于系统文件及目录进行一些读写操作。

模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()

异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。

建议大家使用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞。

创建文件

fs.writeFile(filename ,data,[options],function(err){})

如果文件存在,写入的内容会覆盖旧文件内容

filename      (String)            文件名称
data (String | Buffer) 将要写入的内容,可以使字符串 或 buffer数据。
options (Object) option数组对象,包含
callback {Function} 回调,传递一个异常参数err。

追加文件

fs.appendFile(path,data,[options],function(err){})

name : 文件名
str : 添加的字段
encode : 设置编码
callback : 回调函数 ,传递一个异常参数err

读取文件

fs.readFile(path,options,function(err,data){}) 

filename 具体的文件保存路径地址
[options] 具体选项配置,包括数据的编码方式,
callback为具体的回调函数,进行相应的错误捕捉及提示。

文件是否存在

fs.exists(path, function(exists){})

path 欲检测的文件路径
callback 回调

注意此回调的参数和其他 Node.js 回调的参数不一致。不推荐在调用 fs.open,fs.readFile(),fs.writeFile() 之前使用 fs.exists()检测文件是否存在。这样做会引起竞争条件,因为在两次调用之间,其他进程可能修改文件。作为替代,用户应该直接开/读取/写入文件,当文件不存在时再处理错误。

删除文件

fs.unlink(path,function(err){})

path - 文件路径
callback - 回调函数,err

创建文件夹

fs.mkdir(name,function(err){})

path - 文件路径。
callback - 回调函数,err,异步地创建目录。 完成回调只有一个可能的异常参数。

删除文件夹

fs.rmdir(path,function(err){})

path - 文件路径。
callback - 回调函数,没有参数。

读取文件夹

fs.readdir(path,function(err,files){})

path - 文件路径。
callback - 回调函数,回调函数带有两个参数err, files,err 为错误信息,files 为 目录下的文件数组列表

改名字

fs.rename(oldname,newname,function(err){})

修改文件名称,可更改文件的存放路径。

原文地址:https://segmentfault.com/a/1190000017081655

node.js中常用的fs文件系统的更多相关文章

  1. 在Node.js中操作文件系统(一)

    在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...

  2. node.js中fs文件系统模块的使用

    node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作. fs模块中,所有的方法分为同步和异步两种实现. 有 sync 后缀的方法为同步方法,没有 sync 后缀的方法 ...

  3. node.js中的fs.rename()方法

    node.js 中的fs.rename()模块 var fs=require('fs');//node.js的核心模块 原生模块.修改文件名称,可更改文件的存放路径 方法说明 : 修改文件名称,可更改 ...

  4. Node.js中的模块化

    每天一篇文章来记录记录自己的成长吧.大二,该静心了.加油~ 好了,废话不多说,今天说说nodejs中的模块化.(注:此文为自己对书nodejs实战的总结) nodejs一个重要的特性就是模块化,模块就 ...

  5. node.js中stream流中可读流和可写流的使用

    node.js中的流 stream 是处理流式数据的抽象接口.node.js 提供了很多流对象,像http中的request和response,和 process.stdout 都是流的实例. 流可以 ...

  6. 理解 Node.js 中 Stream(流)

    Stream(流) 是 Node.js 中处理流式数据的抽象接口. stream 模块用于构建实现了流接口的对象. Node.js 提供了多种流对象. 例如,对 HTTP 服务器的request请求和 ...

  7. Node.js:常用工具util

    概要:本篇博客的主要内容是介绍node.js的常用工具util. 1.util.inherits util.inherits(constructor,superConstructor)是一个实现对象间 ...

  8. node.js中process进程的概念和child_process子进程模块的使用

    进程,你可以把它理解成一个正在运行的程序.node.js中每个应用程序都是进程类的实例对象. node.js中有一个 process 全局对象,通过它我们可以获取,运行该程序的用户,环境变量等信息. ...

  9. node.js中net网络模块TCP服务端与客户端的使用

    node.js中net模块为我们提供了TCP服务器和客户端通信的各种接口. 一.创建服务器并监听端口 const net = require('net'); //创建一个tcp服务 //参数一表示创建 ...

随机推荐

  1. Execution failed for task ':app:installDebug'.

    解决方案:重新起服务(react-native start),重新起项目(react-native run-android)

  2. js实现打印正三角

    代码: <html> <head> <title>function</title> </head> <body> <scr ...

  3. iOS UITableView 解决估算行高和指定行高的矛盾

    喜欢交朋友的加:微信号 dwjluck2013 1.一般来说 在iOS 中若UITableViewCell 固定行高, 会通过 - (CGFloat)tableView:(UITableView *) ...

  4. 使用 MiniProfiler 来分析 ASP.NET Core 应用

    MiniProfiler(https://miniprofiler.com/)是一个轻量级且简单易用的分析工具库,它可以用来分析ASP.NET Core应用. 优点 针对ASP.NET Core MV ...

  5. 关于Mybatis的一点小记录(parameterType)

    1.Mybatis的parameterType有两个比较常用的,一个是类的对象,还有一个就是Map,然后取值的方法也很简单: 基本数据类型:#{参数} 获取参数中的值 复杂数据类型:#{属性名} ,m ...

  6. python Windows和Linux路径表示问题

    Windows下路径是用‘\\’表示也可以使用'/',但是Linux下路径都是‘/’表示. 因为python是跨平台的,有时候程序迁移会出现错误. 解决办法1 可全部使用‘/’表示 解决办法2 我们可 ...

  7. nodejs 学习(2) 中间件

    var connect=require('connect'), morgan=require('morgan'),//日志 bodyparser=require('body-parser'), ses ...

  8. Redis 数据导入导出,redis-dump命令

    安装redis-dump 工具 yum install ruby rubygems ruby-devel# 修改为国内源gem sources --add http://gems.ruby-china ...

  9. CF739B

    深搜的过程中保存路径,二分路径中满足要求的区段.不必将每个节点的ans加1,只需将合法区段末尾加1同时将开头减1来表示并保存在一个“前缀”数组中即可.最后再dfs一次累加得到答案. #include ...

  10. Android Theme.Dialog 到光 AppCompatDialog

    我用在我的 style.xml 作为主要应用程序主题 <style name="AppTheme" parent="Theme.AppCompat.Light&qu ...