[nodejs] 之 fs
来源:互联网 发布:手机改串号软件 编辑:程序博客网 时间:2024/05/21 19:33
1.readFile/writeFile
对应的同步方法是:readFileSync/writeFileSync;
基本用法:
fs.readFile('/some.txt','utf8',function(err,data){})var data =fs.readFileSync('/some.txt',''utf8');
特点:
将要读取的文件读入缓存区,在从缓存区写入指定文件;
同步写入的过程,在写入过程node只能做这一件事;
因为是将文件作为整体写入缓存,在文件过大的情况下可能会使缓存爆苍;
新写入的内容会将之前的文件内容覆盖;
2.read/write
对应的同步方法是:readSync/writeSync;
基本用法:
var fs = require('fs');fs.open('./message.txt','r',function(err,fd){ var buf = new Buffer(225); //读取fd文件内容到buf缓存区 fs.read(fd,buf,0,9,3,function(err,bytesRead,buffer){ console.log(buf.slice(0,bytesRead).toString()); }); var buff = new Buffer(225); //位置设置为null会默认从文件当前位置读取 fs.read(fd,buff,0,3,null,function(err,bytesRead,buffer){ console.log(buff.slice(0,bytesRead).toString()); }); var buffer = new Buffer(225); //同步方法读取文件 var bytesRead = fs.readFileSync(fd,buffer,0,9,3); console.log(bytesRead); console.log(buffer.slice(0,bytesRead).toString());});复制代码
特点:
写入内容写入缓存区;
缓存区满后将缓存区内容写入文件;
再读取下一块内容到缓存区;
3.creatReadStream/creatWriteStream
基本用法:
var fs = require('fs');var readStream = fs.createReadStream('./message.txt',{start:3,end:12});readStream.on('open',function(fd){ console.log('开始读取文件');});readStream.on('data',function(data){ console.log('读取到数据:'); console.log(data);});readStream.on('end',function(){ console.log('文件已全部读取完毕');});readStream.on('close',function(){ console.log('文件被关闭');});readStream.on('error',function(err){ console.log('读取文件失败');});
var fs = require('fs');var file = fs.createReadStream('./message.txt');var out = fs.createWriteStream('./anotherMessage.txt');file.on('data',function(data){ out.write(data);});out.on('open',function(fd){ console.log('需要被写入的文件已打开');});file.on('end',function(){ //将操作系统缓存区中的数据全部写入文件 out.end('再见',function(){ console.log('文件全部写入完毕'); console.log('共写入'+out.bytesWritten+'数据'); });});
往文件写入追加内容:
var log = fs.createWriteStream('log.txt', {'flags': 'a'});// use {'flags': 'a'} to append and {'flags': 'w'} to erase and write a new filelog.write("this is a message");----------写入完成之后,最好用end来关闭写入的文件;var log = fs.createWriteStream('log.txt', {'flags': 'a'});// use {'flags': 'a'} to append and {'flags': 'w'} to erase and write a new filelog.end("this is a message");
特点:
把文件转换为流,并对该数据流添加了足够多的监听方法;可以随时监听/暂停/恢复对流的处理;略微抽象,但操作方便;
文件追加内容方法:
也即是追加不覆盖方法:
var log = fs.createWriteStream('log.txt', {'flags': 'a'});// use {'flags': 'a'} to append and {'flags': 'w'} to erase and write a new filelog.end("this is a message");
fs.appendFile('message.txt', 'data to append', function (err) {});
var fs = require('fs'), str = 'string to append to file';fs.open('filepath', 'a', 666, function( e, id ) { fs.write( id, 'string to append to file', null, 'utf8', function(){ fs.close(id, function(){ console.log('file closed'); }); });});
fs.appendFile('message.txt', 'data to append', function (err) { if (err) throw err; console.log('The "data to append" was appended to file!');});
阅读全文
0 0
- nodeJS之fs文件系统
- [nodejs] 之 fs
- nodejs模块之fs模块
- nodejs学习之--fs模块
- nodejs>>fs
- NodeJS - fs
- NodeJS学习笔记之FS文件模块
- NodeJS学习笔记之FS文件模块
- NodeJs之fs的读写删移监
- nodejs中的fs模块
- nodejs--fs模块
- NodeJS-fs模块
- nodejs-fs模块
- nodejs-fs模块
- nodejs-fs模块
- nodejs-fs模块
- nodejs-fs模块
- nodejs-fs模块
- 二叉排序树的理解
- linux在shell中获取时间
- Spring MVC中用@ResponseBody转json,字段为NULL或者为空不参加序列化方法汇总
- otter系列—otter_node 安装配置(快速开始)
- struts2练习及巩固
- [nodejs] 之 fs
- 互联网时代下得移动场景营销
- oracle索引和sql优化
- 20171025_chr_classmultifileupload 多文件上传
- Android高德地图加载WMS服务应用实践
- java.lang.OutOfMemoryError错误
- 笔记2017.12.14
- 再次遇到"Perhaps you are running on a JRE rather than a JDK" 小记
- angularjs中书写window.resize功能