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 ":"

原文地址:https://www.cnblogs.com/SLchuck/p/4909442.html