当前位置: 首页 > news >正文

长沙城乡建设网站首页/整合营销传播理论

长沙城乡建设网站首页,整合营销传播理论,芜湖市民心声,wordpress安装出错文章目录一. 文件写入(1) 写入文件场景(2)异步写入-writeFile(3)同步写入-writeFileSync(4)追加写入-appendFile/appendFileSync/writeFile(5)流式写入-createWriteStream二.文件读取(1) 文件读取应用场景(2) 异步读取-readFile(3) 同步读取-readFileSync(4) 流式读取-createRe…

文章目录

      • 一. 文件写入
        • (1) 写入文件场景
        • (2)异步写入-writeFile
        • (3)同步写入-writeFileSync
        • (4)追加写入-appendFile/appendFileSync/writeFile
        • (5)流式写入-createWriteStream
      • 二.文件读取
        • (1) 文件读取应用场景
        • (2) 异步读取-readFile
        • (3) 同步读取-readFileSync
        • (4) 流式读取-createReadStream
        • (5)复制文件练习
      • 三.文件移动和重命名-rename
      • 四.文件删除
      • 五.文件夹操作
        • (1)创建文件夹-mkdir
        • (2) 读取文件夹-readdir
        • (3)删除文件夹-rmdir
      • 六.查看资源状态-stat
      • 七.`__dirname`和`__filename`
      • 八.path

一. 文件写入

(1) 写入文件场景

  • 下载文件

  • 安装软件

  • 保存程序日志

  • 编辑器保存文件

  • 视频录制

(2)异步写入-writeFile

//1.fs.writeFile(file,data[,options], callback)
/*** 参数说明:* 1. file文件名* 2. data待写入的数据* 3. options选项设置(可选)* 4. callback写入回调*/
function fun1(){fs.writeFile('./写入的文本.txt','写入的文字',err=>{if(err){console.log(err)return}console.log('写入成功')})
}

(3)同步写入-writeFileSync

参数与fs.writeFile大体一致, 只是没有callback参数

(4)追加写入-appendFile/appendFileSync/writeFile

  1. fs.appendFile(file,data[,options],callback)
fs.appendFile('./写入的文本.txt','\n追加的文本',err=>{if(err) return console.log('追加成功')
}
  1. 使用writeFile

    function fun3(){fs.writeFile('./写入的文本.txt','追加的文本',{flag:'a'},err=>{if(err) returnconsole.log('writeFile追加成功')})
    }
    

(5)流式写入-createWriteStream

fs.createWriteStream(path[,options])

  • 流式写入可以减少打开关闭文件的次数

  • 流式写入适用于大文件写入或者频繁写入的场景,writeFile适用于写入频繁较低的场景

  let ws = fs.createWriteStream('./流式写入.txt')ws.write('1\n')ws.write('2\n')ws.write('3\n')ws.write('4\n')ws.end()

二.文件读取

(1) 文件读取应用场景

  • 电脑开机
  • 程序运行
  • 编辑器打开文件
  • 查看图片
  • 播放视频
  • 播放音乐
  • Git查看日志
  • 上传文件
  • 查看聊天记录

(2) 异步读取-readFile

//fs.readFile(path[,options],callback)
let path = './写入的文本.txt'
fs.readFile(path,(err,data) => {if(err) throw errconsole.log(data.toString())
})

(3) 同步读取-readFileSync

//fs.readFileSync(path[,options])
let path = './写入的文本.txt'
let data = fs.readFileSync(path)
console.log(data.toString())

(4) 流式读取-createReadStream

fs.createReadStream(path[, options])
let rs = fs.createReadStream('./写入的文本1.txt')
//每次取出64KB数据后再执行一次data回调
rs.on('data', data=>{console.log(data.toString());console.log(data.length)
})
//读取完成后, 执行end回调
rs.on('end', ()=>{console.log('读取完成')
})

(5)复制文件练习

const fs = require('fs')
const process = require('process')
/*** 复制测试.mp4到fs文件夹下* 1. readFile: 异步读取* 2. createReadStream: 流式读取*/// 1.readFile-writeFile
let readPath = '../测试.mp4'
let writePath = './测试(1).mp4'
let writePath2 = './测试(2).mp4'
function fun1(){// 读取fs.readFile(readPath,(err,data)=>{console.log('读取成功')// console.log(data)// 写入fs.writeFile(writePath,data,err=>{if(err) throw errconsole.log('写入成功')})})
}// fun1()//2. createReadStream-createWriteStream
function fun2(){let rs = fs.createReadStream(readPath)let ws = fs.createWriteStream(writePath2)//2.1rs.on('data', data=>{// console.log(data.length)ws.write(data)// ws.end() //不能加这个,加了出错})rs.on('end',()=>{console.log('读取完成')})//2.2// 管道流:rs.pipe(ws)
}
// fun2()/*** process: 获取代码运行占量*/// fun1() //rss 20701184字节 19MB
fun2() //rss 20635648
console.log(process.memoryUsage())

三.文件移动和重命名-rename

在node中, 可以用rename和renameSync来移动或重命名文件或文件夹

fs.rename(oldPath, newPath, callBack)

  • oldPath 文件当前路径
  • newPath: 文件新的路径
  • callBack: 操作后的回调
const fs = require('fs')
// 1.fs.rename 同步修改名字和文件移动
// 2.fs.renameSync 异步修改名字和文件移动//1.fs.name(oldPath, newPath, callback)
let oldPath = "./流式写入.txt"
let newPath = "./流式写入1.txt"
fs.rename(oldPath,newPath,err=>{if(err) throw errconsole.log('修改')
})

四.文件删除

在node中可以使用unlink或unlinkSync来删除文件

fs.unlink(path, callback)

const fs = require('fs')
/*** 1.unlink unlinkSync* 2.rm rmSync*///1.fs.unlink(path,callback)
// fs.unlink('./测试1',err=>{
//   if(err) throw err
// })//2.fs.rm(path,callback)
fs.rm('./测试2',err=>{if(err) throw err
})  

五.文件夹操作

(1)创建文件夹-mkdir

fs.mkdir(path[, options],callback)

  1. 异步创建文件夹
fs.mkdir('./page', err => {if (err) {throw err} else {console.log('创建成功')}})
  1. 异步创建递归文件夹
  fs.mkdir('./a/b/c',{recursive: true}, err => {if (err) {throw err}console.log('创建成功')})

(2) 读取文件夹-readdir

fs.readdir(path[, options],callback)

fs.readdir('./', (err,data) => {if (err) {throw err} else {console.log(data)}})

(3)删除文件夹-rmdir

  1. fs.rmdir(path[,options],callback

    /*** 只能删除空文件夹*/
    fs.rmdir('./a', err => {if (err) {throw err} else {console.log('删除成功')}
    })
    
  2. 深度删除

    fs.rmdir('./a',{recursive: true}, err => {if (err) {throw err} else {console.log('删除成功')}})
    

六.查看资源状态-stat

  • 异步: fs.stat(path[, options], callback)
  • 同步: fs.statSync(path[,options])
const fs  = require('fs')
fs.stat('./测试(2).mp4',(err,data)=>{if(err) throw errconsole.log(data)console.log(data.isFile())//检测是否为文件console.log(data.isDirectory()) //检测是否为文件夹
})
/**Stats {dev: 286136082,mode: 33206,nlink: 1,uid: 0,gid: 0,rdev: 0,blksize: 4096,ino: 1688849860562346,size: 15423418, //文件体积blocks: 30128,atimeMs: 1678959494454.5403,mtimeMs: 1678959494454.5403,ctimeMs: 1678959494454.5403,birthtimeMs: 1678959448707.1306, //创建时间atime: 2023-03-16T09:38:14.455Z,mtime: 2023-03-16T09:38:14.455Z, //最后修改时间ctime: 2023-03-16T09:38:14.455Z,birthtime: 2023-03-16T09:37:28.707Z
}*/

七.__dirname__filename

  1. __dirname保存着当前文件所在目录的绝对路径, 可以使用__dirname与文件名拼接成绝对路径
  2. __filename表示当前正在执行的脚本的文件名. 它将输出文件所在位置的绝对路径
console.log(__dirname) //C:\Users\wang9\Desktop
console.log(__filename) //C:\Users\wang9\Desktop\file.js

八.path

  • path.resolve: 拼接规范的绝对路径
  • path:sep: 获取操作系统的路径分隔符
  • path.parse: 解析路径并返回对象
  • path.basename:获取路径的基础名称
  • path.dirname:获取路径的目录名
  • path.extname:获取路径的扩展名
http://www.lbrq.cn/news/1557991.html

相关文章:

  • 网站程序如何制作/seo刷排名软件
  • 网站推广做多大尺寸/成都网站推广
  • 网站编辑 seo/站长工具搜索
  • 美食鉴赏国内网站/流量平台排名
  • 太原网站推广怎么做/网址链接生成器
  • 珠海专业做网站的公司/百度主页
  • 网站推广优势/产品网络推广方案
  • 网站title在哪里/网上营销是做什么的
  • 二级网站建设方案模板/深圳aso优化
  • 深圳网站建设app开发/广西关键词优化公司
  • 用自己网站做淘宝客/百度云盘资源搜索
  • 做微网站用什么框架/网络营销自学网站
  • seo一级域名和二级域名/长沙网站优化培训
  • 做方案的网站/唐山网站建设方案优化
  • 宁波建设网站/比优化更好的词是
  • 开发帮官方网站/营销推广计划怎么写
  • 深圳龙华新区住房和建设局网站/营销推广活动策划
  • 乌鲁木齐企业网站建设/上海整站seo
  • 怎么做百度搜到的网站免费的/可以发外链的平台
  • 连锁酒店网站建设公司/国内seo做最好的公司
  • 大连网站建设1000元/公关
  • 网页设计专业设计课程/百度优化软件
  • 如何做一个个人网站/网站推广策划书范文
  • 南通企业网站/企业网站有哪些平台
  • 什么东西可以做网站/网络营销文案策划都有哪些
  • 公司注册查重名/百度网站优化公司
  • 国企门户网站建设方案/广州网站运营专注乐云seo
  • wordpress需要调用缩略图/北京seo公司助力网络营销
  • 九龙坡网站建设哪家好/在线培训网站
  • 大门户wordpress主题门户新闻/seo搜索引擎优化策略
  • 云智智慧停充一体云-allnew全新体验-路内停车源码+路外停车源码+充电桩源码解决方案
  • 如果构建企业本地的ERP智能ai系统,让先进的大模型数据处理ERP的各类数据,更加轻松智能,准确?从企业资源计划ERP变成企业资源智能EPA的升级
  • 基于Uni-app+vue3实现微信小程序地图固定中心点范围内拖拽选择位置功能(分步骤详解)
  • 【php反序列化介绍与常见触发方法】
  • 用 1 张 4090 复现 GPT-3.5?——单卡 24 GB 的「渐进式重计算」训练实践
  • 18- 网络编程