分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

node.js的fs核心模块读写文件操作 ?-----由浅入深

发布时间:2023-09-06 01:07责任编辑:沈小雨关键词:js

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‘);

node.js的fs核心模块读写文件操作 ?-----由浅入深

原文地址:http://www.cnblogs.com/null11/p/7499091.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved