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 ...
随机推荐
- fedora23的firefox不能播放优酷视频?
安装了多次 firefox的 flash player插件, 也设置了 /usr/lib/mozilla/plugins/libflashplayer.so的权限为777, 而且所有者 也是root. ...
- [原] Android性能优化方法
GPU过度绘制 打开开发者选型,"调试GPU过度绘制",蓝.绿.粉红.红,过度绘制依次加深 粉红色尽量优化,界面尽量保持蓝绿颜色 红色肯定是有问题的,不能忍受 使用Hierarch ...
- ansible的使用技巧
#查看ansible的帮助 $ ansible -h #ansible 指定不通的模块执行 $ ansible -i /etc/ansible/hosts docker -u root -m c ...
- github及其他记录
http://mvnrepository.com/artifact/org.jdom/jdom/1.1.3 https://github.com/open-power-workgroup/Hospit ...
- Problem B Boxes in a Line
省赛B题....手写链表..其实很简单的.... 比赛时太急了,各种手残....没搞出来....要不然就有金了...注:对相邻的元素需要特判..... Problem B Boxes in a Li ...
- 【C语言入门教程】7.1 结构体类型变量的定义和引用
前面学习了变量和数组这些简单的数据结构,它们的特点是必须使用规定的数据类型.例如数组被定义为整型后,它的所有存储单元都是由整型构成.现实生活中某一类事物的共同属性可能是由不同的数据类型组成的集合,或者 ...
- lua操作json,mysql,redis等
==========================example for lua json======================= local cjson = require("cj ...
- leofs存储总结
1.leofs角色 Account(账户).Bucket(对象桶).Object(对象), gateway.manager0.manager1.storage Account 一个account可以创 ...
- CodeForces 615B Longtail Hedgehog
题目: http://codeforces.com/problemset/problem/615/B 题意:题目描述很复杂,但实际上很简单.大意就是连续的几个点组成尾巴,要求尾巴的长度乘以尾巴终点的分 ...
- Hibernate get和load区别
1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null 2.从检索执行机制上对比: ...