一、写入文件;

fs.writeFile(filename, data, callback),数据参数可以是string或者是Buffer,编码格式参数可选,默认为"utf8",回调函数只有一个参数err。

var fs= require("fs");

fs.writeFile('test.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('Saved successfully'); //文件被保存
});

二、追加写入文件;

writeFile函数虽然可以写入文件,但是如果文件已经存在,我们只是想添加一部分内容,它就不能满足我们的需求了,很幸运,fs模块中还有appendFile函数,它可以将新的内容追加到已有的文件中,如果文件不存在,则会创建一个新的文件。使用方法如下:

var fs= require("fs");

fs.appendFile('test.txt', 'data to append', function (err) {
if (err) throw err; //数据被添加到文件的尾部
console.log('The "data to append" was appended to file!');
});

三、检查文件是否存在;

检查一个文件是否存在实用exists,exists的回调函数只有一个参数,类型为布尔型,通过它来表示文件是否存在。

var fs= require("fs");

fs.exists('/etc/passwd', function (exists) {
console.log(exists ? "存在" : "不存在!");
});

四、修改文件名;

rename函数提供修改名称服务,实用方法如下:

var fs= require("fs");

fs.rename(旧文件,新文件,回调函数(err){
if (err) throw err;
console.log('Successful modification,');
});

五、移动文件;

移动文件也是我们经常会遇见的,可是fs没有专门移动文件的函数,但是我们可以通过rename函数来达到移动文件的目的,示例如下。

var fs = require('fs');

fs.rename(oldPath,newPath,function (err) {
if (err) throw err;
console.log('renamed complete');
});

六、读取文件;

读取文件是最常用到的功能之一,使用fs模块读取文件语法如下:

例:fs.readFile(文件,编码,回调函数);

var fs = require('fs');

fs.readFile(文件名, function (err, data) {
if (err) throw err;
console.log(data);
});

回调函数里面的data,就是读取的文件内容。

七、删除文件;

面对一推垃圾文件,可以使用unlink函数来进行删除;

var fs = require('fs');

fs.unlink(文件, function(err) {
if (err) throw err;
console.log('successfully deleted');
});

八、创建目录;

除了针对文件的操作,目录的创建、删除也经常遇到的,下面我们来看看node.js中如何创建目录:

fs.mkdir(路径,权限,回调函数(err));

路径:新创建的目录。
权限:可选参数,只在linux下有效,表示目录的权限,默认为0777,表示文件所有者、文件所有者所在的组的用户、所有用户,都有权限进行读、写、执行的操作。
回调函数:当发生错误时,错误信息会传递给回调函数的err参数。

九、删除目录;

删除目录也是必不可少的功能,rmdir函数可以删除指定的目录:

var fs = require('fs');

fs.rmdir(path, function(err) {
if (err) throw err;
console.log('ok');
});

十、读取目录;

如果要读取目录下所有的文件应该怎么办呢?readdir函数可以读取到指定目录下所有的文件,示例如下:

var fs = require('fs');

fs.readdir(目录,回调函数(err,files));

回调函数 (callback) 接受两个参数 (err, files) 其中 files 是一个存储目录中所包含的文件名称的数组,数组中不包括 '.' 和 '..'。

nodejs笔记二--文件I/O;的更多相关文章

  1. linux学习笔记二-----文件权限管理

    一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...

  2. nodejs笔记之文件操作

    文件操作包含: 读取文件 写入文件 删除文件 创建目录 删除目录 读取文件: // 异步操作 var fs = require("fs"); fs.readFile(". ...

  3. Linux System Programming 学习笔记(二) 文件I/O

    1.每个Linux进程都有一个最大打开文件数,默认情况下,最大值是1024 文件描述符不仅可以引用普通文件,也可以引用套接字socket,目录,管道(everything is a file) 默认情 ...

  4. APUE 学习笔记(二) 文件I/O

    1. 文件I/O 对于内核而言,所有打开的文件都通过文件描述符引用,内核不区分文本文件和二进制文件 open函数:O_RDONLY  O_WRONLY  O_RDWR create函数: close函 ...

  5. 前端笔记之NodeJS(二)路由&REPL&模块系统&npm

    一.路由机制(静态资源文件处理) 1.1 Nodejs没有根目录 MIME类型:http://www.w3school.com.cn/media/media_mimeref.asp 在Apache中, ...

  6. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  7. Linux系统运维笔记(二),Linux文件编辑命令

    Linux系统运维笔记 Linux文件编辑命令 首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式 接下来我们按i,然后键盘随便输入写内容. 然后按ESC重新进入到命令 ...

  8. NodeJS 难点(网络,文件)的 核心 stream 二:stream是什么

    对于大部分有后端经验的的同学来说 Stream 对象是个再合理而常见的对象,但对于前端同学 Stream 并不是那么理所当然,github 上甚至有一篇 9000 多 Star 的文章介绍到底什么是 ...

  9. 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

随机推荐

  1. HTML5上传图片预览

    <!DOCTYPE html> <html> <head> <title>HTML5上传图片预览</title> <meta http ...

  2. Pass Dynamic Value to a Grid Label

     A grid label is the blue (normally) colored grid header that you see on PeopleSoft pages. The grid ...

  3. c#获取多个List<class>合并、并将相同条件下的值累计sum

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. 封装js千分位加逗号和删除逗号

    //封装js千分位加逗号和删除逗号 alert( format(2545678754.020001) ) //2,545,678,754.03 alert( format(-2545678754.02 ...

  5. DNS笔记 DNS区域集成到 Active Directory

    可以将 DNS 区域集成到 Active Directory 中以提供增强的容错功能和安全性.OpenDNS   Google Public DNS往返时间 (RTT) 远程访问服务 (RAS)域名与 ...

  6. css font-family 字体全介绍,\5b8b\4f53 宋体 随笔

    font-family采用一种"回退"的形式来保存字体,可以写若干种字体.当第一种字体浏览器不支持的时候,会找第二种字体,一次类推. font-family字体分为两类: 特殊字体 ...

  7. Java实现九九乘法表的输出

    九九乘法表一般为三角形,每个数分别和从1到自身的数相乘然后把结果列出来,即要用到两层循环,外层是从1到9for(i=1;i<=9;i++),内层是当前数和从1到自身相乘for(j=1;j< ...

  8. Java打印温度转换表

    按5度的增量打印出一个从摄氏温度到华氏温度的转换表.转换公式为h=c*9/5+32,其中h为华氏温度,c为摄氏温度. 主要是“按5度的增量”这个要求,一般摄氏温度的起始分别为0度和40度,所以循环可以 ...

  9. SQL Server 基础:Join用法

    Join(麻蛋  废话不多说 有图有真相) 测试数据脚本 CREATE TABLE Atable ( S# INT, Sname ), Sage INT, Sfrom ) ) insert into ...

  10. ios 工程图片清理shell

    #!/bin/shecho "随意删除@2x图片可能会引起错误 因为ios工程会更加前缀和分辨率自己找到@2x的图片 所以删除@2x图片时要慎重"read -n1 -p  &quo ...