1. 文件

1.1 读写整个文件

1.1.1 读

var fs = require('fs');

fs.readFile('./test.txt',function(err,data){

if(err){

console.log('err');

}else{

console.log(data);

}

});

1.1.2 写

var fs = require('fs');

var data = '测试数据';

fs.writeFile('./write.txt',data,function(err){

if(err){

console.log('err');

}else{

console.log('ok');

}

});

1.1.3 指定位置读

var fs = require('fs');

fs.open('./test.txt','r',function(err,fd){

var buf = new Buffer(255);

fs.read(fd,buf,0,9,3,function(err,bytesRead,buffer){

if(err){

console.log('err');

}else{

console.log(buffer.slice(0,bytesRead).toString());

}

});

});

1.1.4 在指定位置写

var fs = require('fs');

var buffer = new Buffer('hello world');

fs.open('./test.txt','w',function(err,fd){

fs.write(fd,buffer,0,9,3,function(err,written,buffer){

if(err){

console.log('err');

}else{

console.log('ok');

}

});

});

1.2 目录及文件操作

var fs = require('fs');

1.2.1 创建

fs.mkdir('./test',function(err){

});

1.2.2 读取

fs.readdir('./test',function(err,files){

});

1.2.3 查看文件及目录信息

fs.stat('./test',function(err,stats){

});

fs.lstat('./test',function(err,stats){

});

1.2.4 检查文件或目录是否存在

fs.exists('./test',function(exists){

});

1.2.5 获取文件或目录的绝对路径

fs.realpath('./test',function(err,resolvedPath){

});

1.2.6 修改文件访问时间及修改时间

fs.utimes('./test.txt',new Date(),new Date(),function(err){

});

1.2.7 修改文件和目录的读写权限

fs.chmod('./test.txt',0740,function(err){

});

1.2.8 移动目录

fs.rename('./test.txt','./copy.txt',function(err){

});

1.2.9 创建和删除文件的硬连接

fs.link('./test.txt','./link.txt',function(err){

});

fs.unlink('./link.txt',function(err){

});

1.2.10 创建和删除文件的符号连接

fs.symlink('./test.txt','./link.txt','dir',function(err){

});

fs.readlink('./link.txt',function(err){

});

1.2.11 截断文件

fs.truncate('./test.txt',10,function(err){

});

1.2.12 删除空目录

fs.rmdir('.test',function(err){

});

1.2.13 监视文件或目录

var fun = function(curr,prev){

}

fs.watchFile('./test.txt',fun);

fs.unwatchFile('./test.txt',fun);

1.3 读写文件流

1.3.1 读

var fs = require('fs');

var file = fs.createReadStream('./test.txt');

file.on('open',function(fd){

console.log('open');

});

file.on('data',function(data){

console.log('data');

});

file.on('end',function(){

console.log('end');

});

file.on('close',function(){

console.log('close');

});

file.on('error',function(err){

console.log('error');

});

1.3.2 写

var fs = require('fs');

var out = fs.createWriteStream('./test.txt');

  • out.on('open',function(fd){

console.log('open');

});

  • out.write('hello world','utf8',function(){

});

  • out.end('over',function(){

});

1.3.3 pipe复制操作

var fs = require('fs');

var file = fs.createReadStream('./test.txt');

var out = fs.createWriteStream('./out.txt');

file.pipe(out);

1.4 路径操作

var path = require('path');

path.normalize([path]); //转化为标准路径

path.join([path],[path1],...); //合并字符串

path.resolve(path,[path1],...); //以应用程序跟目录为起点,根据所有的字符串合并成一个绝对路径

path.relative(from,to); //获取两个路径的相对路径

path.dirname(path); //获取一个路径的目录名

path.basename(path); //获取一个路径的文件名

path.extname(path); //获取一个路径的扩展名

path.sep //获取系统指定的文件分隔符 windows "\\"

path.delimiter //获取系统指定的路径分隔符 windoes ":"

3.nodejs权威指南--文件的更多相关文章

  1. 1.nodejs权威指南--基础知识

    1. 基础知识 1.1 全局作用域及函数 1.1.1 全局作用域 在nodejs中,定义了一个global对象,代表nodejs中的全局命名空间,任何全局变量.函数或对象都是该对象的一个属性值 1.1 ...

  2. 7.nodejs权威指南--加密与压缩

    1. 加密与压缩 1.1 加密 var crypto = require('crypto'); var text = "12345678"; var hasher = crypto ...

  3. 9.nodejs权威指南--Socket.IO

    1. Socket.IO 1.1 服务器 var http = require('http'); var sio = require('socket.io'); var fs = require('f ...

  4. 8.nodejs权威指南--MongoDB

    1. MongoDB var mongo = require('mongodb'); var host = '127.0.0.1'; var port = mongo.Connecton.DEFAUL ...

  5. 6.nodejs权威指南--进程

    1. 进程 var net = require('net'); var cluster = require('cluster'); cluster.setupMaster({ exec:'child. ...

  6. 5.nodejs权威指南--HTTP

    1. HTTP 1.1 服务器 var http = require('http'); var server = http.createServer(function(req,rsp){ req.on ...

  7. 4.nodejs权威指南--TCP和UDP

    1. TCP和UDP 1.1 TCP服务端 var net = require('net'); var server = net.createServer(); server.on('connecti ...

  8. 2.nodejs权威指南--Buffer

    1. Buffer 1.1 创建 var buf1 = new Buffer(100); var buf2 = new Buffer([0,1,2]); var buf3 = new Buffer(' ...

  9. Node.js权威指南学习记录

    学习nodeJS权威指南的学习记录 导航: 1.console模块 2.全局变量 3.Buffer对象 4.事件对象 5.网络请求 6.文件操作对象 一. COMMON.js的学习.(commonJS ...

随机推荐

  1. linux中Jetty的安装和配置

    Jetty Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开 ...

  2. AndroidStudio-使用Translations Editor

    前言 如果你的App支持多语言,你需要正确的管理你的翻译字符串资源.Android Studio提供了翻译编辑器使更容易的查看和管理翻译资源. 关于翻译编辑器 翻译资源存储工程的多个目录下的多个XML ...

  3. R--基本统计分析方法(包及函数)

    摘要:目前经典的统计学分析方法主要有回归分析,Logistic回归,决策树,支持向量机,聚类分析,关联分析,主成分分析,对应分析,因子分析等,那么对于这些经典的分析方法在R中的使用主要有那些程序包及函 ...

  4. [译]git commit

    git commit git commit命令提交stage区的快照到项目历史中去(HEAD). 被提交的快照被认为是一个项目的安全版本. Git不会修改他们, 除非你显示的要求了. 和git add ...

  5. JDBC、JDBCTemplate、MyBatis、Hiberante 比较与分析

    JDBC (Java Data Base Connection,java数据库连接) JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Jav ...

  6. 今天<s:hidden>突然能用了

    曾经好几个作业中都想要用<s:hidden>隐形传值,一直没有成功. 今天放弃使用了,竟然成功了. 我放弃使用居然成功了,原来只要设置好getter和setter之后就不用管了,只要变量名 ...

  7. 2013成都Regional:一块木板,几个气球

    先来看木板: 再来看气球: 最后看木板+气球: google送的纪念品....  到现在还没敢打乱: 赛场外面.... 赛场里面: 和比赛时出了问题,并现场换了一台的电脑(对面长安大学1队)... 最 ...

  8. Linux程序编写shell script的格式

    #!/bin/bash #program # 在此处写下此程序的作用 #History: #此处写下写此程序的时间 作者 版本号 PATH=/bin:/sbin:/usr/bin:/usr/sbin: ...

  9. Hadoop 之Mong DB 之CentOS 6 使用 yum 安装MongoDB及服务器端配置

    安装MongoDB的方法有很多种,可以源代码安装,在Centos也可以用yum源安装的方法.由于MongoDB更新得比较快,我比较喜欢用yum源安装的方法.64位Centos下的安装步骤如下: 1.准 ...

  10. 在Mac mini上编译Android源码

    参考文章 1.Android 6.0 源代码编译实践 2.编译Android源码致命错误解决方案 实践过程 1.Mac下安装Ubuntu双系统 (1)Ubuntu版本:Ubuntu 15.10 注:实 ...