NodeJs——文件I/O(一)

     开发中我们经常会有文件I/O的需求,node.js中提供一个名为fs的模块来支持I/O操作,fs模块的文件I/O是对标准POSIX函数的简单封装。

一,写入文件

/*
	文件I/O,写入是必修课之一。fs模块提供writeFile函数,可以异步的将数据写入一个文件, 如果文件已经存在则会被替换。用法如下:

例:fs.writeFile(filename, data, callback)

*/
var fs= require("fs");

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

//数据参数可以是string或者是Buffer,编码格式参数可选,默认为"utf8",回调函数只有一个参数err。

二,追加文件

/*
	文件I/O,写入是必修课之一。fs模块提供writeFile函数,可以异步的将数据写入一个文件, 如果文件已经存在则会被替换。用法如下:

例:fs.writeFile(filename, data, callback)

*/
var fs= require("fs");

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

//数据参数可以是string或者是Buffer,编码格式参数可选,默认为"utf8",回调函数只有一个参数err。

三,文件是否存在

/*
如何检查一个文件是否存在呢?我想exists函数可以帮助你,用法如下:

例:fs.exists(文件,回调函数(exists));

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

var fs= require("fs");

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

四,修改文件

/*
修改文件名称是我们经常会遇见的事情,rename函数提供修改名称服务:
*/
var fs= require("fs");
fs.rename('/etc/passwd','/etc/passwdNew',function(err){
   if (err) throw err;
   console.log('Successful modification,');
});

五,移动文件

//移动文件也是我们经常会遇见的,可是fs没有专门移动文件的函数,但是我们可以通过rename函数来达到移动文件的目的,示例如下:
var fs = require('fs');

fs.rename('/etc/passwd','/root',function (err) {
   if (err) throw err;
   console.log('renamed complete');
});

ps:测试环境,无文件,嘿嘿。。

六,读取文件

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

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

var fs = require('fs');

fs.readFile('/etc/passwdNew', function (err, data) {
  if (err) throw err;
  console.log(data);
});

时间: 2024-09-20 06:34:38

NodeJs——文件I/O(一)的相关文章

node.js-下面这么简单的2个nodejs文件哪里错了??啊

问题描述 下面这么简单的2个nodejs文件哪里错了??啊 //student.js function add(student) { console.log(student); } exports.add = add; .................................................................................(分割线) //teacher.js var student=require('./student'); functi

nodejs 文件与文件操作(读写文件 删除 重命名)

读写文件nodejs中操作相对就简单很多!来看看几个例子吧. [写文本文件] // wfile.js ------------------------------  代码如下 复制代码 var fs = require("fs");   var data = 'hello 雨林博客'; fs.writeFile('c:a.txt', data, 'ascii', function(err){  if(err){  console.log('写入文件失败');  }else{  cons

NodeJs——文件I/O(二)

一,删除文件 //面对一堆垃圾的文件总是有想删除的冲动,我有强迫症?你才有呢. //好在有unlink函数,终于得救了,示例如下: //例:fs.unlink(文件,回调函数(err)); var fs = require('fs'); fs.unlink('/etc/passwdNew', function(err) { if (err) throw err; console.log('successfully deleted'); }); 二,创建目录 /* fs.mkdir(路径,权限,回

nodejs文件操作模块FS(File System)常用函数简明总结_node.js

件系统操作相关的函数挺多的.首先可以分为两大类. 一类是异步+回调的. 一类是同步的. 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1. 首先是一类最常规的读写函数,函数名称和形式,应该是起源于C语言的. 复制代码 代码如下: fs.open(文件路径,读写标识,[文件mode值,666],回调函数(err,文件句柄fd));          fs.read(文件句柄fd,被写入的buffer,offset,length,position,回调函数(err, byte

基于nodejs+express(4.x+)实现文件上传功能_node.js

Nodejs是一个年轻的编程框架,充满了活力和无限激情,一直都在保持着快速更新.基于Nodejs的官方Web开发库Express也在同步发展着,每年升级一个大版本,甚至对框架底层都做了大手术.在Express4时,替换掉中件间库connect,而改用多个更细粒度的库来取代.带来的好处是明显地,这些中间件能更自由的更新和发布,不会受到Express发布周期的影响:但问题也是很的棘手,不兼容于之前的版本,升级就意味着要修改代码. 通过一段时间的查阅资料.摸索,我发现实现上传的方式有:1.expres

Nodejs中读取中文文件编码问题、发送邮件和定时任务实例_node.js

关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了. 下面的三个知识点都是从项目中抽出的,要单独运行脚本的话需要用全局模式来安装模块,比如安装中文转换模块(后续其它的也需要这么做): 复制代码 代码如下: npm install -g iconv-lite npm install -g nodemailer npm install -g node-schedule 1.nodejs读取中文文件编码问题 准备一个文本文件(当然也可以是csv文件等)test

NodeJS使用formidable实现文件上传_node.js

最近自学了一下NodeJS,然后做了一个小demo,实现歌曲的添加.修改.播放和删除的功能,其中自然要实现音乐和图片的上传功能.于是上网查找资料,找到了一个formidable插件,该插件可以很好的实现文件的上传功能.该小demo用到了MySQL数据库,所有的数据都存放到了数据库中.下面简单说一些如何使用. 1.创建app.js主文件 const express = require('express'); const router = require('./router'); const pat

AngularJS结合RequireJS做文件合并压缩的那些坑

我在项目使用了AngularJS框架,用RequireJS做异步模块加载(AMD),在做文件合并压缩时,遇到了一些坑,有些只是解决了,但不明白原因. 那些坑 1. build.js里面的paths必须跟main.js里面的保持一致. 这个build.js就是r.js使用的配置文件,而main.js就是RequireJS的main文件.在合并压缩时候,build.js文件里面也需要写paths,而且还是跟main.js一样,我很奇怪为什么就不能识别main里面的require.config的pat

小心!AngularJS结合RequireJS做文件合并压缩的那些坑_javascript技巧

在项目使用了AngularJS框架,用RequireJS做异步模块加载(AMD),在做文件合并压缩时,遇到了一些坑,有些只是解决了,但不明白原因. 那些坑1. build.js里面的paths必须跟main.js里面的保持一致. 这个build.js就是r.js使用的配置文件,而main.js就是RequireJS的main文件.在合并压缩时候,build.js文件里面也需要写paths,而且还是跟main.js一样,我很奇怪为什么就不能识别main里面的require.config的paths