一、写入文件;

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 是一个存储目录中所包含的文件名称的数组,数组中不包括 '.' 和 '..'。

最新文章

  1. 混合框架中Oracle数据库的还原处理操作
  2. php常用函数
  3. DBCC 命令2
  4. lua学习记录
  5. 最小生成树之Kruskal算法
  6. SSHPASS支持从命令行输入密码
  7. 深入理解BootStrap之栅格系统(布局)
  8. HTML5要点(四)对象全整理
  9. Windows进程
  10. [key]严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener(Spring配置异常)
  11. 令人无限遐想的各种PCIe加速板卡
  12. svn的基本配置及安装
  13. macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)
  14. Android应用程序如何使用Internet资源?
  15. WIFI的AP/Sta模式简单介绍
  16. P3803 【模板】多项式乘法(FFT)
  17. Privoxy教程
  18. ----关于JS中迭代的三个“FOR”----
  19. 使用VSTS的Git进行版本控制(二)——提交保存工作
  20. Polymer初探

热门文章

  1. 二十、ValueStack的常用方法
  2. 下载uboot的调试版本到开发板的sdram中运行
  3. 字符串匹配KMP算法
  4. ASP.NET MVC5 第4章
  5. Mysql授权GRANT ALL PRIVILEGES
  6. Copying Fields to a new Record
  7. OpenFileDialog使用方法
  8. WCF帮助类
  9. pjax 历史管理 jQuery.History.js
  10. php怎么解析utf-8带BOM编码的json数据,php解析json数据返回NULL