3.nodejs权威指南--文件
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.nodejs权威指南--基础知识
1. 基础知识 1.1 全局作用域及函数 1.1.1 全局作用域 在nodejs中,定义了一个global对象,代表nodejs中的全局命名空间,任何全局变量.函数或对象都是该对象的一个属性值 1.1 ...
- 7.nodejs权威指南--加密与压缩
1. 加密与压缩 1.1 加密 var crypto = require('crypto'); var text = "12345678"; var hasher = crypto ...
- 9.nodejs权威指南--Socket.IO
1. Socket.IO 1.1 服务器 var http = require('http'); var sio = require('socket.io'); var fs = require('f ...
- 8.nodejs权威指南--MongoDB
1. MongoDB var mongo = require('mongodb'); var host = '127.0.0.1'; var port = mongo.Connecton.DEFAUL ...
- 6.nodejs权威指南--进程
1. 进程 var net = require('net'); var cluster = require('cluster'); cluster.setupMaster({ exec:'child. ...
- 5.nodejs权威指南--HTTP
1. HTTP 1.1 服务器 var http = require('http'); var server = http.createServer(function(req,rsp){ req.on ...
- 4.nodejs权威指南--TCP和UDP
1. TCP和UDP 1.1 TCP服务端 var net = require('net'); var server = net.createServer(); server.on('connecti ...
- 2.nodejs权威指南--Buffer
1. Buffer 1.1 创建 var buf1 = new Buffer(100); var buf2 = new Buffer([0,1,2]); var buf3 = new Buffer(' ...
- Node.js权威指南学习记录
学习nodeJS权威指南的学习记录 导航: 1.console模块 2.全局变量 3.Buffer对象 4.事件对象 5.网络请求 6.文件操作对象 一. COMMON.js的学习.(commonJS ...
随机推荐
- 分布式缓存之 memcache 实现分布式缓存
最近想搞点分布式,但是不知道整点什么,来点简单的吧. 今天讲下memcache的分布式缓存 首先下载memcache的服务器端 百度下可以找到 然后执行安装和开启(关闭服务器)命令(还有其他的命令 可 ...
- move_upload_file 因为文件字符集编码iconv引起的问题
对 包含中文的文件 进行操作时提示 Invalid argument? 包括: 这里的move_uploaded_file和 fopen等操作都是如此. 而且用了字符编码转换后, iconv('utf ...
- HITtrainning20140417题解
题目列表: ID Origin Title 10 / 15 Problem A FZU 2152 文件系统 0 / 16 Problem B FZU 2153 A simple geome ...
- php5调用web service
工作中需要用php调用web service接口,对php不熟,上网搜搜,发现关于用php调用web service的文章也不多,不少还是php4里用nusoap这个模块调用的方法,其实php5里已经 ...
- Maven Eclipse (m2e) SCM connector for subclipse 1.10 (svn 1.8) 无法检测
用新东西总是会有一些风险,尤其是相互的依赖和版本问题. 为了体验最新Eclipse Mars,Version: Mars Milestone 1 (4.5.0M1),Eclipse安装之后需要安装一些 ...
- [译]Mongoose指南 - Document
更新 有几种方式更新document. 先看一下传统的更新方法 Tank.findById(id, function(err, tank){ if(err) return handleError(er ...
- HDOJ 1520 Anniversary party
树形DP....在树上做DP....不应该是猴子干的事吗? Anniversary party Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- xcode7 NSAppTransportSecurity
在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary Dictionary 下添加 NSAllowsArbitraryLoads 类型 Bool ...
- C语言的源程序字符集与执行字符集
我们程序文件的字符集就是我们写出来的.c扩展名的文件的字符集,这里用的是系统默认的 ANSI 字符集,如下图: 上面的字符集我们不关心,我们关心的是 源程序的字符集 和程序的 执行字符集 ,源程序的字 ...
- 9 patch png 的上下左右
9 patch png 的上下左右 前言: 9 patch png 图片,扩展名为.9.png,是一个标准的PNG图像,它包括额外的1个像素的边界,通过对这个边界的描述来达到我们预期的拉伸效果.a ...