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. PHP过滤评论关键词

    <?php /** * PHP中屏蔽过滤指定关键字实现方法总结 * http://www.111cn.net/phper/phpanqn/46225.htm * * 思路: * 一.把关键字专门 ...

  2. 22、JSON/jQuery上

      1)掌握JSON及其应用 2)了解jQuery的背景和特点 3)理解js对象和jQuery对象的区别 4)掌握jQuery九类选择器及应用(上)   声明:今天服务端我们使用Struts2技术 一 ...

  3. 编译器 perforSelecter时 警告去除

    #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks&quo ...

  4. git学习相关资料

    入门还是廖大师的博客. 搭建git服务器: http://blog.csdn.net/code_style/article/details/38764203

  5. eclipse 下调整jdk和tomcat的jvm参数

    eclipse 下调试和运行,往往会出现调整java.lang.OutOfMemoryError: Java heap space  产生的原因我猜测是使用了maven,subversion,myla ...

  6. promise理解

    每个操作都返回一样的promise对象,保证链式操作 每个链式都通过then方法 每个操作内部允许犯错,出了错误,统一由catch error处理 操作内部,也可以是一个操作链,通过reject或re ...

  7. AIM Tech Round 3 (Div. 2) A

    Description Kolya is going to make fresh orange juice. He has n oranges of sizes a1, a2, ..., an. Ko ...

  8. D3D 模板缓存的创建过程

    下面是我对模板缓存创建的理解: 1. 模板缓存是和深度缓存一起被创建的,将深度缓存的一部分作为模板缓存使用. 深度缓存和模板缓存是在Direct3D初始化时创建的,D3DPRESENT_PARAMET ...

  9. 在 Server 端存取 Excel 檔案的利器:NPOI Library

    转处 http://msdn.microsoft.com/zh-tw/ee818993.aspx Codeplex 軟體套件(Package)資訊 套件名稱 NPOI 作者 tonyqus, huse ...

  10. Redis的WEB界面管理工具phpRedisAdmin

    下载地址:http://down.admin5.com/php/75024.html 官方网址:https://github.com/ErikDubbelboer/phpRedisAdmin