node.js的fs核心模块读写文件操作 -----由浅入…
2018-06-24 00:10:34来源:未知 阅读 ()
node.js 里fs模块
常用的功能
实现文件的读写 目录的操作
- 同步和异步共存 ,有异步不用同步
- fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方法
- 文件大分流读取,stream
- 引入fs模块
- let fs=require('fs')
同步读取文件
-fs.readFileSync('路径',utf8);
let result=fs.readFileSync('./1.txt','utf8');
异步读取文件,用参数err捕获错误
- fs.readFile('路径','utf8',function(){})
fs.readFile('./name.txt','utf8',function(err,data){
if(err){
console.log(err)
}else{
console.log(data)
}
})
同步写入文件
- fs.writeFileSync("路径",写入的数据)
fs.writeFileSync("./1.txt",JSON.stringify({name:1}))
异步写入文件
- fs.writeFile('路径',写入的数据,callback)
fs.writeFile('./1.txt','aaaaa',function (err) {
if(err){
console.log(err);
}
})
读写文件写一个拷贝实例
let fs=require("fs"); //同步拷贝 function copySync(source,target){ //同步读取 let result=fs.readFileSync(source,'utf8'); //同步写入 fs.writeFileSync(target,result); } copySync("./age.txt",'./1.txt');
//异步拷贝
function copy(sourse,target,callback){
//异步读取
fs.readFile(sourse,'utf8',function(err,data){ if(err){ return callback(err) }else{ //异步写入 fs.writeFile(target,data,callback) } }); }; copy('./name.txt','./ss.txt',function(err){ if(err) return console.log(err); console.log('拷贝成功') })
判断文件存不存在
- fs.existsSync('文件的路径')
stat方法
fs.stat('文件路径',function (err,stat) {
stat.isDirectory 看是不是文件夹
stat.isFile 看是不是文件
})
删除文件夹
- fs.rmdir('文件夹路径',function(){})
删除文件
- fs.unlink('文件路径',function(){})
//判断文件存不存在
if(fs.existsSync('./b')){ fs.stat('./b',function (err,stat) { //stat中的time是用来做服务器缓存 //stat.isDirectory看是不是文件夹 stat.isFile看是不是文件 if(stat.isDirectory()){ //删除文件夹 fs.rmdir('./b',function(){}) }else{ //删除文件 fs.unlink('./b',function(){}); } }) }
利用递归写一个文件夹依次创建
function md(url) { let paths=url.split('/'); //将a/b/c拆分成数组['a','b','c'] let index=0; function make(path){ if(index===paths.length+1){ // 如果到终点,停止递归 return false; } if(!fs.existsSync(path)){ //不存在 //创建文件夹 fs.mkdir(path,function () { make(paths.slice(0,++index).join('/')) }) }else{ //存在 make(paths.slice(0,++index).join('/')) } } make(paths[index++]) //先取出第一个 } md('a/b/c/d');
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:JS入门基础笔记
- nodejs中如何使用async模块 2020-02-22
- Node.js中环境变量process.env的一些事详解 2020-01-17
- 详解node.js进行web开发的操作方法 2019-12-14
- jQuery 数据缓存模块进化史详细介绍 2019-09-23
- javaWeb核心技术第三篇之JavaScript第一篇 2019-08-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash