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 ...
随机推荐
- 『MySQL』索引类型 normal, unique, full text
问题1:mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用 ...
- Android 环境配置
一.开发环境配置 1.使用 eclipse 需要下载安装 Android SDK.Eclipse.ADT 插件. 也可以直接下载整合好的 ADT Bundle 包,下载地址: http://devel ...
- ASP数据库操作方法
首先,必须要使用打开数据库方法: <% dim objconn,objconnstr set objconn=server.createobject("adodb.connection ...
- 文件操作 fopen() fclose()
#define _CRT_SECURE_NO_DEPRECATE /*取消scanf,printf不安全之类的错误提示*/ /* fopen example */ #include <stdio ...
- 关于QT写注册表开机自启动
注册表中权限: 1.HKEY_CURRENT_USER 2.HKEY_LOCAL_MACHINE 网上有很多帖子都是用的2,其实这样有违用户权限,而且如果不是管理员用户,会写入不成功! 代码如下: Q ...
- MySQL Cluster 配置文件(config.ini)详解
MySQL Cluster 配置文件(config.ini)详解 ################################################################### ...
- 第一天 django
全栈增长工程师实战 http://growth-in-action.phodal.com/ 生成的代码和示例不一样,static 也要加上 from django.conf.urls import u ...
- Java 7 Concurrency Cookbook 翻译 第一章 线程管理之五
九.使用线程本地变量 一个并发程序的最关键特征就是共享数据.这个特性在那些继承了 Thread 类或者 实现了 Runnable 接口的对象上显得更加重要. 如果你创建一个实现了 Runnable 接 ...
- HNU 12906 Battleship
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12906 解题报告:题目意思看了很久都没懂,就是一个10*10的 ...
- MySQL的InnoDB索引原理详解 (转)
摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节. InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档).本着高效学习的目的,本 ...