实例1 var fs=require('fs'); var data=fs.readFileSync('input.txt'); // 同步读取 console.log('同步读取:'+ data); console.log('程序执行完毕') fs.readFile('input.txt',function (err,data) { if(err){ return console.error(err) } console.log("异步读取:" + data); }); // 异步读取 实例2 var fs=require("fs"); console.log('发斯蒂芬'); fs.open("input.txt",'r+',function (err,fd) { if(err){ return console.error(err); } console.log('nice'); }) 实例3:获取文件信息 var fs=require("fs"); console.log('准备打开文件'); fs.stat('input.txt',function (err,stats) { if(err){ return console.error.log(err) }console.log(stats); console.log('读取文件陈宫 '); console.log('是否为文件(isfile)?'+stats.isFile()); console.log('是否为文件目录(isDiretory)?'+stats.isDirectory()); }) 实例4:写入文件 异步模式写入文件的语法格式: // fs.writeFile(file,data[,options],callback) 参数 参数使用说明如下: file - 文件名或文件描述符。 data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(缓冲) 对象。 options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 'w' callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。// writeFile 直接打开文件默认是 w 模式,所以如果文件存在,该方法写入的内容会覆盖旧的文件内容。 var fs=require("fs"); console.log("准备写入文件"); fs.writeFile('input.txt','我是fs.writeFile写入到内容',function (err) { if(err){ return console.error.log(err) } console.log('数据写入成功'); console.log('-------'); console.log('读取写入的数据'); fs.readFile('input.txt',function (arr,data) { if(err){ return console.error.log(err) } console.log('异步读取文件数据:'+data) }) }) 实例5:读取文件 语法:fs.read(fd, buffer, offset, length, position, callback) 参数:参数使用说明如下: fd - 通过 fs.open() 方法返回的文件描述符。 buffer - 数据写入的缓冲区。 offset - 缓冲区写入的写入偏移量。 length - 要从文件中读取的字节数。 position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。 callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。 fs=require("fs") var buf= new Buffer.alloc(1024) console.log('before'); fs.open("input.txt",'r+',function (err,fd) { if(err){ return console.error(err) } console.log('我是open的数据'); console.log('我是read的数据'); fs.read(fd,buf,0,buf.length,0,function (err,bytes) { if(err){ console.log(err); } console.log(bytes+"字节被读取") if(bytes>0){ console.log(buf.slice(0,bytes)); } }) }) 关闭文件 fs.close(fd, callback) fd - 通过 fs.open() 方法返回的文件描述符。 callback - 回调函数,没有参数。 var fs=require("fs") var buf =new Buffer.alloc(1024) console.log('beforeopen'); fs.open("input.txt",'r+',function (err,fd) { if(err){ return console.error(err) } console.log('success.open') console.log('before.read') fs.read(fd,buf,0,buf.length,0,function (err,bytes) { if(err){ console.log(err) } if(bytes>0){ console.log(buf.slice(0,bytes)) } fs.close(fd,function (err) { if(err){ console.log('err') } console.log('close') }) }) }) 实例7:截取文件 fs.ftruncate(fd, len, callback) 参数 参数使用说明如下: fd - 通过 fs.open() 方法返回的文件描述符。 len - 文件内容截取的长度。 callback - 回调函数,没有参数。 var fs=require("fs") var buf =new Buffer.alloc(1024) console.log('brforeopen'); fs.open('input.txt','r+',function (err,fd) { if(err){ return console.error(err) } console.log('successopen'); console.log('截取了10字节后的内容'); fs.ftruncate(fd,10,function (err) { if(err){ console.log('err'); } console.log('success.get'); console.log('readsame'); fs.read(fd,buf, 0,buf.length,0,function (err,bytes) { if(err){ console.log('err'); } if(bytes>0){ console.log(buf.slice(0,bytes)) } fs.close(fd,function (err) { if(err){ console.log(err); } console.log("success.close") }) }) }) }) // 实例8:删除文件 fs.unlink(path, callback) var fs=require("fs") console.log('before.delete'); fs.unlink('input.txt',function (err) { if(err){ return console.error(err) } console.log('successdelete') }) 创建目录 : fs.mkdir(path[, mode], callback) var fs = require("fs") console.log("创建目录 /tmp/test/"); fs.mkdir("/tmp/test/",function (err) { if(err){ return console.error(err) } console.log('successcreated') }) 读取目录 var fs =require('fs') console.log("查看 /tmp 目录"); fs.readdir('/tmp/',function (err,files) { if(err){ return console.error(err); } files.forEach(function (file) { console.log(file); }) }) 删除目录 fs.rmdir(path, callback) var fs=require("fs") console.log('brforedelete /tmp/test') fs.rmdir('/tmp/test',function(err){ if(err){ return console.error(err); } console.log("读取、tmp目录"); fs.readdir('/tmp',function (err,files) { if(err){ return console.error(err); } files.forEach(function (file) { console.log(file); }) }) }) 流 冲流中读取数据 var fs =require('fs'); var data = ''; var readerStream=fs.createReadStream("input.txt") readerStream.setEncoding('UTF8'); readerStream.on('data',function (chunk) { data +=chunk; }) readerStream.on('end',function () {//此处函数不传参; console.log(data); }) readerStream.on('error',function (err) { console.log(err.stack); }) 写入流 var fs =require("fs") var data="菜鸟www.runoob.com" var writerStream = fs.createWriteStream('input.txt') writerStream.write(data,'UTF8') writerStream.end(); writerStream.on('finish',function(){ console.log("successwrite"); }) writerStream.on('error',function(err){ console.log(err.stack); }); console.log('end');
08-04
08-04
08-04
08-04
08-04
08-04