和前面的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. sql注入1

    一.函数 1.version() MYsql版本 2.user()    数据库用户名 3.database()   数据库名 4.@@datadir  数据库路径 5.@@version_compi ...

  2. 关于django用户登录认证中的cookie和session

    最近弄django的时候在用户登录这一块遇到了困难,网上的资料也都不完整或者存在缺陷. 写这篇文章的主要目的是对一些刚学django的新手朋友提供一些帮助.前提是你对django中的session和c ...

  3. HBase原理和设计

    转载 2016年1月10日:http://www.sysdb.cn/index.php/2016/01/10/hbase_principle/ 简介 架构 数据组织 原理 RS定位 region写入 ...

  4. 埃式筛法——求n以内素数

    素数筛法的关键就在一个“筛”字.算法从小到大枚举所有数,对每一个素数,筛去它的所有倍数,剩下的就都是素数了. 例如:求1-15中的所有素数. 1.  2是素数(唯一需要事先确定的),因此筛去2的所有倍 ...

  5. C#中简单操作SQLserver数据库(ADO.NET的简单应用)

    本篇文章以 ADO.NET 访问SQL SERVER 数据库为例, 其中需用System.Data.SqlClient; 数据库连接字符串写法为:server=数据源(服务器名称);uid=用户名;p ...

  6. Spring MVC 上下文(ApplicationContext)初始化入口

    Spring 常用上下文容器有哪些 ApplicationContext ClassPathXmlApplicationContext ApplicationContext context = new ...

  7. 在SQL Server 2008上安装ArcSDE 10.1并实现远程连接

    先安装SQL Server 2008 R2 X64(SP2),创建数据库实例,安装客户端. 再安装ArcSDE 10.1,ArcGIS Desktop 10.1,一切顺利. 由于Desktop是32位 ...

  8. gulp在项目中的基本使用

    在项目中用gulp做项目的代码的管理,用起来很方便.主要用到了下面一些功能 关于js的处理,包括合并.压缩.加hash. 关于css的处理,编辑scss,合并css,加hash,自动加入前缀 本地开发 ...

  9. SVM问题汇总

    1.为什么要选择最大间隔分类器,请从数学角度上说明? 答:几何间隔与样本的误分次数间存在关系: 其中的分母就是样本到分类间隔距离,分子中的R是所有样本中的最长向量值 2.样本失衡会对SVM的结果产生影 ...

  10. centos vsftpd

    1.配置文件 # 是否允许匿名登录FTP服务器,默认设置为YES允许# 用户可使用用户名ftp或anonymous进行ftp登录,口令为用户的E-mail地址.# 如不允许匿名访问则设置为NOanon ...