node.js 第一天

目录

 使用readFile()方法读取文件内容

 判断文件是否读取成功

判断文件是否写入成功

案例 考试成绩整理

path

path.join()

path.basename() 


 

 使用readFile()方法读取文件内容
// 1. 导入 fs 模块,来操作文件
const fs = require('fs')// 2. 调用 fs.readFile() 方法读取文件
//    参数1:读取文件的存放路径
//    参数2:读取文件时候采用的编码格式,一般默认指定 utf8
//    参数3:回调函数,拿到读取失败和成功的结果  err  dataStr
fs.readFile('./files/1.txt', 'utf8', function(err, dataStr) {// 2.1 打印失败的结果// 如果读取成功,则 err 的值为 null// 如果读取失败,则 err 的值为 错误对象,dataStr 的值为 undefinedconsole.log(err)console.log('-------')// 2.2 打印成功的结果console.log(dataStr)
})

 成功案例  成功err返回null

 失败案例 没有读取到文件 err返回一个对象

 判断文件是否读取成功

const fs = require('fs')fs.readFile('./files/11.txt', 'utf8', function(err, dataStr) {if (err) {return console.log('读取文件失败!' + err.message)}console.log('读取文件成功!' + dataStr)
})
判断文件是否写入成功

 写入成功会生成相应的一个文本

// 1. 导入 fs 文件系统模块
const fs = require('fs')// 2. 调用 fs.writeFile() 方法,写入文件的内容
//    参数1:表示文件的存放路径
//    参数2:表示要写入的内容  这里就是'ok123'
//    参数3:回调函数
fs.writeFile('./files/3.txt', 'ok123', function(err) {// 2.1 如果文件写入成功,则 err 的值等于 null// 2.2 如果文件写入失败,则 err 的值等于一个 错误对象// console.log(err)if (err) {return console.log('文件写入失败!' + err.message)}console.log('文件写入成功!')
})
案例 考试成绩整理

 素材

小红=99 小白=100 小黄=70 小黑=66 小绿=88

 

1读素材文件

2将等号转冒号

3写入文本中

// 1. 导入 fs 模块
const fs = require('fs')// 2. 调用 fs.readFile() 读取文件的内容
fs.readFile('../素材/成绩.txt', 'utf8', function(err, dataStr) {// 3. 判断是否读取成功if (err) {return console.log('读取文件失败!' + err.message)}//console.log('读取文件成功!' + dataStr)// 4.1 先把成绩的数据,按照空格进行分割const arrOld = dataStr.split(' ')// 4.2 循环分割后的数组,对每一项数据,进行字符串的替换操作const arrNew = []arrOld.forEach(item => {arrNew.push(item.replace('=', ':'))})// 4.3 把新数组中的每一项,进行合并,得到一个新的字符串const newStr = arrNew.join('\r\n')// 5. 调用 fs.writeFile() 方法,把处理完毕的成绩,写入到新文件中fs.writeFile('./files/成绩-ok.txt', newStr, function(err) {if (err) {return console.log('写入文件失败!' + err.message)}console.log('成绩写入成功!')})
})

 生成的文本

path
path.join()

 __dirname 表示当前文件所处的目录

const path = require('path')
const fs = require('fs')// 注意:  ../ 会抵消前面的路径
// const pathStr = path.join('/a', '/b/c', '../../', './d', 'e')
// console.log(pathStr)  // \a\b\d\e// fs.readFile(__dirname + '/files/1.txt')fs.readFile(path.join(__dirname, './files/1.txt'), 'utf8', function(err, dataStr) {if (err) {return console.log(err.message)}console.log(dataStr)
})
path.basename() 

const path = require('path')// 定义文件的存放路径
const fpath = '/a/b/c/index.html'// const fullName = path.basename(fpath)
// console.log(fullName)
//输出结果为 index.html
const nameWithoutExt = path.basename(fpath, '.html')
console.log(nameWithoutExt)
//输出结果为 index

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26989.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(ceph)资源池poll管理

资源池 Pool 管理 前面的文章中我们已经完成了 Ceph 集群的部署(ceph部署: 传送门),但是我们如何向 Ceph 中存储数据呢?首先我们需要在 Ceph 中定义一个 Pool 资源池。Pool 是 Ceph 中存储 Object 对象抽象概念。我们可以将其理解…

Jmeter(119)-函数threadNum妙用

今天的接口场景是:有N个用户需要每隔5秒去查询一次数据,也就是说N个用户会去循环执行同一个接口。一开始的时候将用户参数化时使用了counter, 要执行2个线程3次循环,发现每次循环时,接口中用户参数的数据就会不一样&am…

基于PyQt5的UI界面开发——菜单与工具栏

窗口类型 我们进入QtDesigner,创建主窗口有三种类型:QMainWindow、QDialog 和 QWidget。 在新建应用程序窗口,通常选择 MainWindow 创建主窗口的图形界面就可以了。QtDesigner 创建的 “MainWindow” 虽然是一个空白的图形窗口,但…

linux 基于debian_ubuntu AB系统适配(四)- 硬盘 wifi U盘无法使用问题

1、问题起因 使用原系统可以使用,但AB系统缺不行,开始怀疑是文件系统问题,于是我把AB系统的文件系统给替换到原系统中去,结果一样可以使用。于是替换了内核文件,结果不能使用了,那问题就出现在了内核中,刚开始以为是设备树的问题,于是拿原系统的设备树与AB系统的设备树…

[Docker异常篇]解决Linux[文件异常]导致开机Docker服务无法启动

文章目录 一:场景复现二:解决思路2.1: 对比其他节点docker配置2.2:试着修改为正常节点配置2.2:根据上面异常显示,不一定是配置不对,可能是文件系统有损坏 三:解决 -> 执行命令 mo…

黄皮书-线接触热弹流润滑 Fortran+Matlab转译代码

原Fortran代码有错误,进行了修改,数值上差别不大。根据Fortran代码转的Matlab,可以完美运行,但是因为精度问题有差异,只能说趋势是一致的。 需要私我-资源里只是Fortran运行结果

uniapp学习之【从一个小程序跳转到另一个小程序】

uni.navigateToMiniProgram({appId: ,path: pages/index/index?id123,extraData: {data1: test},success(res) {// 打开成功} })

UEC++: 接口

1. 2. 3. 4.一般接口的源文件是不用写逻辑的,一般是在接口头文件中编写 5.被C类继承: 写完函数,千万不允许定义!!! 添加标记宏 找到一个类:继承I开头的接口:引用头文件 错误重写&…

接口测试 react+unittest+flask 接口自动化测试平台

目录 1 前言 2 框架 2-1 框架简介 2-2 框架介绍 2-3 框架结构 3 平台 3-1 平台组件图 1 新建用例 2 生成测试任务 3 执行并查看测试报告 3-2 用例管理 3-2-1 用例设计 3-3 任务管理 3-3-1 创建任务 3-3-2 执行任务 3-3-3 测试报告 3-3-4 邮件通知 1 前言 构建…

java实现敏感词过滤,简单实例,dfa算法

java实现敏感词过滤,简单实例,dfa算法 最近在看黑马的视频学习的时候,看到了,自定义敏感词过滤的,感觉蛮有意思的,记录一下。 直接上实例 第一步初始化敏感词(可以写死,当然在开发…

BGP实验--联邦

1,AS1存在两个环回,一个地址为192.168.1.0/24 该地址不嫩在任何协议中宣告 AS3中存在两个环回,一个地址为192.168.2.0/24该地址不能再任何协议中宣告,最终要求这两个环回可用互相通讯 AS1中的另一个环回为10.0.0.0 24&#…

不同的二叉搜索树(简单题目+升级题目)

简单题目(只需要返回多少种): 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例: 输入:n 3 输出:5…