和前面的Http、Url模块一样,Fs模块也是node的核心模块之一,主要用于对系统文件及目录进行读写操作。

基本方法

fs.stat

fs.stat可以用来判断是文件还是目录:stats.isFile()用于检测是否是文件,stats.isDirectory()用于检测是否是目录,两个都返回布尔值。

测试前,在fs01.js文件所在的目录下,新建一个文件夹和一个文件

    

fs.mkdir

fs.mkdir可以用来创建目录,该方法能接受sane参数:path(将创建的目录路径),mode(读写权限,默认0777),callback(异常回调)

运行上面创建目录的代码,正常情况下会在控制台打印出创建成功的语句,并生成相应目录

    

fs.writeFile

fs.writeFile可以用来创建文件并写入内容。该方法接收4个参数:filename、data、options和callback,其中filename是文件名称,data是将要写入的内容,可以是字符串或者buffer数据,callback传递异常回调,options是一个数组对象,包含encoding(可选值,默认 ‘utf8′,当data使buffer时,该值应该为 ignored)、mode(文件读写权限,默认值 438)、flag(默认值 ‘w')。

执行上面的代码,将会在执行http目录下生成一个hello.txt的文件,并在这个文件中写入相应内容

    

如果添加的时候,已经存在改文件,那么新添加的会在原来的基础上进行覆盖。

   

fs.appendFile

fs.appendFile用于向文件内追加内容(虽然名为追加内容,但实际是覆盖,目前还不是很明白)

    

在进行内容追加的时候,如果目标文件不存在,会先创建文件,然后添加内容。

fs.readFile

fs.readFile用于读取文件

   

fs.readdir

fs.readdir用于读取目录,能够同时获取目录下的文件和文件夹,返回一个包含文件名和文件夹名称的数组。

读取同时包含文件夹和文件的目录:

     

读取只包含文件的目录:

     

fs.rename

fs.rename用于给文件或文件夹重命名,在给文件重命名的时候,需要保证文件类型一致。

文件夹重命名:

  

文件重命名:

   

修改文件类型的重命名:

fs.rmdir

fs.rmdir用于删除文件夹。用该方法来删除文件或者不存在的文件夹的时候会报错。

   

fs.unlink

fs.unlink用于删除文件。同样,如果使用该方法删除文件夹或者不存在的文件的时候,也会报错。

  

管道流

fs.createReadStream

fs.createReadStream用于从文件流中读取数据

  

fs.createWriteStream

fs.createWriteStream用于向文件中写入内容。

其中的writerStream.end()标志文件末尾,监听的finish则是在所有数据都被写入时触发的事件。

利用createReadStream()和createWriteStream()可以实现一个管道流,读取一个文件的内容,并写入到另外一个文件中。

NodeJs Fs模块的更多相关文章

  1. nodejs -- fs模块 ---> readFile 函数 1) fs.readFile(filename, "binary", function(error, file) 2) response.write(file, "binary");

    一:代码: 1.1 入口文件: index.js var server = require('./server'); var router = require("./router" ...

  2. nodejs - fs模块 - 文件操作

    1, fs.stat  检测是文件还是目录 2, fs.mkdir 创建目录 var fs = require('fs') fs.mkdir('./dir',function(err){ if(err ...

  3. nodejs fs 模块

    件系统操作相关的函数挺多的.首先可以分为两大类. 一类是异步+回调的. 一类是同步的. 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1. 首先是一类最常规的读写函数,函数名称 ...

  4. nodejs fs 模块的用途

    /*** New node filefs 操作*/var fs = require(“fs”); /*创建文件 var fileName = “anps_hsj”;fs.mkdir(fileName, ...

  5. [js]nodejs初探http/url/fs模块

    难怪我没学会, 因为我的套路有问题. 错误点, 1,大而全 2,不注重思路 学习要领: 1, 小而精 2, 重思路(总结) nodejs特点: 1.node提供了js的运行环境, 一般将node运行在 ...

  6. nodejs中的fs模块中的方法

    nodejs中的fs模块 引入模块 const fs =require("fs") 检测文件是否存在fs.stat(path,callback) fs.stat("./n ...

  7. nodejs模块——fs模块

    fs模块用于对系统文件及目录进行读写操作. 一.同步和异步 使用require('fs')载入fs模块,模块中所有方法都有同步和异步两种形式. 异步方法中回调函数的第一个参数总是留给异常参数(exce ...

  8. [Nodejs] node的fs模块

    fs 模块 Node.js 提供一组类似 UNIX(POSIX)标准的文件操作 API. Node 导入文件系统模块(fs).Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如 ...

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

    http服务   let server = http.createServer(function(req,res){       });   监听: server.listen(8080);   re ...

随机推荐

  1. ASP.NET MVC页面报错System.InvalidOperationException The view found at '~/Views/Home/Index.cshtml' was not created.

    Application Exception System.InvalidOperationException The view found at '~/Views/Home/Index.cshtml' ...

  2. SpringBoot的学习【7.引入配置文件】

    1.@PropertySource 作用:加载指定的配置文件 2.@ImportResource ---恢复内容结束---

  3. linux 常见技巧

    1.# :表示权限用户(如:root) $:表示普通用户 开机提示:login:输入用户名 password:输入口令 用户是系统注册用户成功登陆后, 可以进入相应的用户环境. 退出当前shell,输 ...

  4. win7 安装用mingw编译的Qt源码并连接postgresql

    下载Qt 1.下载qt-creator-windows-opensource-2.8.0,下载路径:http://download.qt.io/official_releases/qtcreator/ ...

  5. vue-cli的使用(模板自定义、本地配置,eslint的配置)

    vue-cli(脚手架工具:帮助开发者完成基本的代码编写). 功能: 目录结构 本地调试 代码部署 热加载 单元测试 使用模板: vue init <template-name> < ...

  6. svn linux 服务器的搭建

    1 查询是否安装了svn: rpm -qa subversion 2:如果没有那么: yum -y install  subversion 3:建立一个存储路经:mkdir -p /applicati ...

  7. JDBC 链接mysql 8 的问题

    转载:jdbc连接mysql 8 的一些坑 1.驱动包要升级为 mysql-connector-java-8.0.11.jar 2.JDBC driver 由“com.mysql.jdbc.Drive ...

  8. Golang中的函数

    函数 在go语言中,函数的基本组成为:关键字func.函数名.参数列表.返回值.函数体和返回语句 函数的定义 定义一个最简单的加法函数 func Add(a int,b int)(ret int,er ...

  9. [2019BUAA软件工程]结对作业

    Tips Link 作业链接 [2019BUAA软件工程]结对作业 GitHub地址 WordChain PSP表格 psp2.1   预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 ...

  10. Alienware R8外星人台式机安装双系统(WIN10+Ubuntu)的总结

    新电脑终于到了,然而外星人的系统比较特殊,很多东西和别的品牌(包括DELL)不一样, 同时NVIDIA显卡也带来了很多问题.重装了十几遍,查阅了上百篇文章后之后终于搞定了双系统. 其实核心问题很傻,就 ...