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. HDU:过山车(二分图最大匹配)

    http://acm.hdu.edu.cn/showproblem.php?pid=2063 题意:有m个男,n个女,和 k 条边,求有多少对男女可以搭配. 思路:裸的二分图最大匹配,匈牙利算法. 枚 ...

  2. HDU 4417:Super Mario(主席树)

    http://acm.hdu.edu.cn/showproblem.php?pid=4417 题意是:给出n个数和q个询问,每个询问有一个l,r,h,问在[l,r]这个区间里面有多少个数是小于等于h的 ...

  3. tomcat清除缓存

    方案一:点击进入解压后的tomcat,找到work文件夹,.此文件下有个catalina目录(tomcat小名叫catalina),work目录下的文件都可以删除.如果我们先前发布的一个项目有错,大家 ...

  4. hdu 1061 Rightmost Digit

    解决本题使用数学中的快速幂取余: 该方法总结挺好的:具体参考http://www.cnblogs.com/PegasusWang/archive/2013/03/13/2958150.html #in ...

  5. c语言中各个类型的sizeof长度

    #include <stdio.h> int main() {     printf("\nA Char is %lu bytes", sizeof( char )); ...

  6. hbase 停止regionserver

    每个regionserver节点可以自由启动或停止,可以不随hbase整体一起. 停止后regionserver上的数据会被移到其他regionserver上,不影响hbase的使用.   停止reg ...

  7. html的textarea控制字数小案例

    <h3>设计理念说明(200字以内)</h3> <textarea onkeyup="checkLen(this)"></textarea ...

  8. 周赛-DZY Loves Chessboard 分类: 比赛 搜索 2015-08-08 15:48 4人阅读 评论(0) 收藏

    DZY Loves Chessboard time limit per test 1 second memory limit per test 256 megabytes input standard ...

  9. Unity-Animator深入系列---Foot IK

    回到 Animator深入系列总目录 最近在做一个demo,遇到了角色跑动不自然的问题(注意双腿): 后来得知勾选FootIK之后Unity会智能修复这类问题: 好像这个功能还能做到斜面地形匹配,不过 ...

  10. 提高 Linux 上 socket 性能

      http://www.cnblogs.com/luxf/archive/2010/06/13/1757662.html 基于Linux的Socket网络编程的性能优化   1 引言    随着In ...