*需要简单说明,node里大部分操作都是异步的
何为异步?
异步:前一个操作没有处理完毕,后一个可以继续,即,可以同时执行多个操作
何为同步?
同步:前一个操作没有处理完毕,后一个没法开始
1.读文件的内容:
var fs=require('fs'); fs.readFile('a.txt',function(err,data){ if(err){ console.log('404'); }else{ console.log(data); } });
当然你会发现读取出来的都是看不懂的 buffer,当然还可以接受一个参数
var fs=require('fs'); fs.readFile('a.txt','utf-8',function(err,data){ if(err){ console.log('404'); }else{ console.log(data); } });
这样你在看下,是不是就看懂了许多,不过,其实也没必要加这个utf-8这个参数,因为正常情况都是,把读取出来的数据,扔回浏览器那边
这种读取方式是异步的?一般情况下服务器的操作都是异步的
不过还是看下同步操作:
var fs=require('fs'); var data=fs.readFileSync('a.txt'); console.log(data);
2. 创建文件并写入内容
var fs=require('fs'); fs.writeFile('b.txt','welcome to itstrive.com',function(err){ console.log(err); });
此方法不支持’a/b.txt’这种用法,也就是只能创建文件,目录不行
3. 删除文件
var fs=require('fs'); fs.unlink('b.txt',function(err){ console.log(err); });
4. 修改文件名称(文件重命名)
var fs=require('fs'); fs.rename('a.txt','r_a.txt',function(err){ console.log(err); });
5. 查看文件信息(状态)
var fs=require('fs'); fs.stat('r_a.txt',function(err,data){ if(err){ console.log('404'); }else{ console.log(data); } });
6. 判断文件是否存在
var fs=require('fs'); fs.exists('r_a.txt',function(bExits){ console.log(bExits); });
7. 文件内部追加内容
var fs=require('fs'); fs.appendFile('r_a.txt','abc',function(err){ console.log(err); });
其实就是api的用法:
更加详细的信息,请看:http://nodejs.org/api/fs.html
文章最后给大家一个js中随机字符串的技巧:
Math.random().toString(36).substring(2) //toString(36):将随机数转换成36进制的数,即0-9 a-z
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论