nodejs处理文件模块:fs  —>  var fs = require(‘fs’);

读取文件:readFileSync & readFile

  1. 读取文件路径为绝对;
  2. 读取结果需要toString();

readFileSync:

  • 同步读取文件,既文件未读取完(或读取异常),程序会阻塞在readFileSync不会继续往下执行。

fs.readFileSync('path'); //路径为绝对路径

例:

var file = require('fs');

function file_parse(){
var str = file.readFileSync('f:/node/content.txt');//获取文件流
console.log(str.toString());
console.log('文件读取完毕');
}
file_parse();

执行结果:

readFile:

  • 非同步读取文件,代码不会被阻塞(不会因文件读取时间长,或读取异常而影响后续代码的执行)。

fs.readFile('path',callback[function (){}]); //路径为绝对路径,毁掉函数

例:

var file = require('fs');

function file_parse(){
var str = file.readFile('f:/node/content.txt',function(err,data){
if(err) {return console.error(err);}
console.log(data.toString());
});
//err异常信息;data读取文件流
console.log('继续执行......');
}
file_parse();

执行结果:

******************************************************************************************************************

写入文件:writeFile

  1. 写入文件路径为绝对;(路径不正确或路径非绝对路径,写入不生效)
  2. 写入成功后,原文件的内容会被重写。

writeFile:

  • 非同步写入文件,代码不会被阻塞。

fs.writeFile('path','content','charset',callback[function (){}]); //路径为绝对路径,写入内容,编码格式(可选),回调函数

例:

var file = require('fs');
function file_write(){
file.writeFile('F:/node/content.txt','这是写入内容','UTF-8',function (err){
if(err){ console.error(err); }
console.log('继续执行......');
});
}
file_write();

无论是否写入成功(只要没出现异常),callback的内容都会被执行。

******************************************************************************************************************

删除文件:unlink

  1. 路径为绝对路径;
  2. 被删除文件不会出现回收站;

fs.unlink('path',callback[function(){}]); //路径为绝对路径,回调函数

例:

var file = require('fs');
function del(){
file.unlink('f:/node/new.txt',function (){console.log('success');});
}
del();

执行后,指定删除文件不会出现在回收站

******************************************************************************************************************

查看文件状态:stat

  1. 路径为绝对路径;

fs.stat('path',callback[function(err,stat){}]); //路径为绝对路径,回调函数(异常信息,文件信息)

例:

var file = require('fs');
function stat_file(){
file.stat('f:/node/content.txt',function (err,data){
if(err){ console.error(err); }
else{ console.log(data); }
});
}
stat_file();

执行结果:

以上收集的一些常用方法,关于fs详细说明,请查看官方文档:官方文档

nodejs学习笔记<六>文件处理的更多相关文章

  1. Python学习笔记六--文件和输入输出

    6.1文件对象 所有Python对文件的操作都是基于对文件对象的操作.那么就从文件对象的创建说起.open()[file()]提供初始化输入输出的接口.open()成功打开文件时会返回一个文件对象. ...

  2. [Scala]Scala学习笔记六 文件

    1. 读取行 读取文件,可以使用scala.io.Source对象的fromFile方法.如果读取所有行可以使用getLines方法: val source = Source.fromFile(&qu ...

  3. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  4. NodeJS学习笔记六

    Symbol简介 ES6引入了一种新的原始数据类型Symbol,表示独一无二的值.它是JavaScript语言的第七种数据类型,前六种是:Undefined.Null.布尔值(Boolean).字符串 ...

  5. Nodejs学习笔记(十六)--- Pomelo介绍&入门

    目录 前言&介绍 安装Pomelo 创建项目并启动 创建项目 项目结构说明 启动 测试连接 聊天服务器 新建gate和chat服务器 配置master.json 配置servers.json ...

  6. Nodejs学习笔记(十六)—Pomelo介绍&入门

    前言&介绍 Pomelo:一个快速.可扩展.Node.js分布式游戏服务器框架 从三四年前接触Node.js开始就接触到了Pomelo,从Pomelo最初的版本到现在,总的来说网易出品还算不错 ...

  7. Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识

    目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookie ...

  8. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  9. Nodejs学习笔记(六)—Node.js + Express 构建网站预备知识

    前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...

随机推荐

  1. Python学习总结:目录

    Python 3.x总结 Python学习总结[第一篇]:Python简介及入门 Python学习总结[第二篇]:Python数据结构 Python学习总结[第三篇]:Python之函数(自定义函数. ...

  2. ACM题目————棋盘问题

    Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...

  3. 天大acm 题号1002 Maya Calendar

    Description 上周末,M.A. Ya教授对古老的玛雅有了一个重大发现.从一个古老的节绳(玛雅人用于记事的工具)中,教授发现玛雅人使用了一个一年有365天的叫做Haab的历法.这 个Haab历 ...

  4. 【转】MYSQL入门学习之八:数据库及表的基本操作

    转载地址:http://www.2cto.com/database/201212/175867.html 一.操作数据库  www.2cto.com    1.查看数据库          show ...

  5. 20150629_Andriod_06_插入_删除_弹出式操作数据

    Fr_06_view_s6 --> activity_f6_insert              --> activity_f7__delete ******************** ...

  6. CRB and His Birthday(背包)

    CRB and His Birthday Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...

  7. Tautology 分类: POJ 2015-06-28 18:40 10人阅读 评论(0) 收藏

    Tautology Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10428   Accepted: 3959 Descri ...

  8. Linux 线程与进程,以及通信

    http://blog.chinaunix.net/uid-25324849-id-3110075.html 部分转自:http://blog.chinaunix.net/uid-20620288-i ...

  9. Axure一点2

    4:找茬:先安装图片,在不同的地方安上动态面板(命名为左一),在动态面板上双击,添加动态,进去动态后添加矩形改色,设置透明度为0,回到主页面.并设为隐藏,复制到另一面(命名为右一).在右一上添加图像热 ...

  10. zookeeper系列之十一—zookeeper会话超时

    1.会话概述 在Zookeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID).服务器和客户端之间维持的是一个长连接,在SEESSION_TIMEOU ...