node的fs模块

news/2024/11/19 19:35:00/

node的fs模块

前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的。包括语音识别、机器翻译等从基础到实战都有,很详细,分享给大家。大家及时保存,说不定啥时候就没了。

一、简述

fs模块是 Node.js官方提供的,用来操作文件的模块(读取/写入)。它提供了一些属性和方法,用来满足用户对文件的操作。

二、读取指定文件的内容

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

  • 参数一:必选参数,字符串,表示文件的路径
  • 参数二:可选参数,表示以什么编码格式来读取文件
  • 必须参数,文件读取完成后,通过回调函数拿到读取的数据

三、向指定的文件写入内容

fs.writeFile(file, data, [options], callback)

  • 参数一:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
  • 参数二:必选参数,表示要写入的内容
  • 参数三:可选参数,表示要以什么编码格式写入文件内容,默认值是utf8(可以省略不写)
  • 参数四:必选参数,文件写入完成后的回调函数

如果在js代码中,使用fs模块操作文件,则需要先使用require导入

const fs = require('fs');

四、使用

使用 fs.readFile() 方法读取文件

// 1、导入fs模块,来操作文件
const fs = require('fs');// 1、调用fs.readFile()方法读取文件
//    参数一:读取文件的存放路径
//    参数二:读取文件时采用的编码格式,一般默认指定 utf8
//    参数三:回调函数,拿到读取成功和失败的结果,err,dataStr
fs.readFile('./files/files.txt', 'utf8', (err, dataStr) => {// 如果读取成功,则 err 的值为 null// 如果读取失败,则 err 的值为错误对象,dataStr的值为undefindif (err) {// 例如readFile路径错误就会进来console.log(`读取文件失败${err.message}`);}console.log(`读取文件成功${dataStr}`);
})// 运行,终端输入node,空格,接着输入要执行文件名称的前两个字符。使用Tab键补全,回车,就可以了

使用 fs.createFile() 方法写入文件

// 导入fs模块
const fs = require('fs');// 调用fs.writeFile()方法写入内容
// 参数一:存放写入内容的文件,没有的话就在该路径下创建
// 参数二:要写入的内容
// 参数三:编码格式(可以省略不写,默认utf8)
// 参数四:回调函数const writeContent = '我是通过fs.writeFiles()函数写入的内容。'
fs.writeFile('./files/writeFile.txt', writeContent, 'utf8', (err, res) => {// 如果文件写入成功,则err的值为null// 如果文件写入失败,则err的值是一个错误对象if (err) {console.log(`写入文件成功${err.message}`);}console.log(`写入内容成功${res}`);
})

案例-成绩整理

/*** 需求* 将num里的数据,= 换成 :,并且换行* 将新数据存放到新建文件夹newNum里*/const fs = require('fs');fs.readFile(__dirname + '/files/num.txt', 'utf8', (err, res) => {if (err) {console.log(`读取失败${err.message}`);}const arr = res.split(' ');let newArray = [];arr.forEach(item => {newArray.push(item.replace('=', ':'))})const dataStr = newArray.join('\n');// console.log(`读取并整理文件${dataStr}`);addFile(dataStr)});const addFile = (str) => {fs.writeFile(_dirname + '/files/newNum.txt',str, (err, res) => {if (err) {console.log(`新文件创建失败${err}`);}console.log(`新文件创建成功${res}`);});};

路径问题解决
使用 __dirname来动态设置当前文件所在目录

const fs = require('fs');
// 终端使用cd进入其他文件,再node执行该文件,就会报错
// 因为cd进去表示当前文件所处目录,然后拼接上'./files/files.txt'相对路径,导致位置错误
// 出现路径拼接错误的问题,是因为提供了 ./ 或 ../ 开头的相对路径
// 如果要解决这个问题,可以直接提供一个完整的文件存放路径就行
// 最好的解决方案是提供一个动态的当前文件所处目录的变量// fs.readFile('./files/files.txt', 'utf8', (err, res) => {
//     console.log(err);
//     console.log(res);
// })// __dirname 表示当前文件所处目录
fs.readFile(__dirname + '/files/files.txt', 'utf8', (err, res) => {console.log(err);console.log(res);
})

http://www.ppmy.cn/news/238880.html

相关文章

fs概述及基本使用

PRI是实际物理线路, sip trunk是ip虚拟连接 ACD(Automatic Call Distributor) 自动呼叫分配,也叫智能选择座席. ACD掌握坐席状态,是否分配呼叫 若acd未拦截,则sip终端代理(话机)能判别当前状态、指示用户放音、回复响应 IVR(In…

FSL5.0使用教程

关于如何在Windows中安装可以参考我的博客:window下安装脑图像处理软件FSL 如有问题,欢迎加入交流群共同探讨:515574325 官方文档:https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslOverview 我用的是Ubantu16.04,安装的是fsl-compl…

电销机器人价格费用如何?对比过才知道

电话营销作为当前企业开发客户最直接的一种营销方式,虽然电话营销很多缺点有客户难寻、人员流动大、培训时间长、销售成本高等,但是丝毫不影响企业用它来拓客,而电销机器人就是针对这些出现的问题而研发,专门针对电话销售的人员拓…

小宝机器人_家用教育智能机器人

小宝机器人—"打令"机器人 小宝机器人官网排名小宝机器人官网排名下面我来为大家推荐小宝机器人高性价比的大品牌商家可以找茂名市齐聚机器人有限公司,经营各种智能产品的,一起来看看吧 小宝机器人它不仅是段子手、小管家、还是一只能行走会卖萌的小可爱…

一个智能机器人的外观设计需要花费多少钱?

设计一个智能机器人外观设计需要花费多少钱?针对一般中小企业来讲,设计成本相对性比较高。机器人的设计成本为10W—12W,加之接着的出模等。成本过高,早期担负的成本也非常大。 因而,很多初创公司会选择自己做机器人外观设计&…

ai人工智能机器人

随着时间的推移,人工智能的发展越来越成熟,智能时代也离人们越来越近,近几年人工智能越来越火爆,人工智能的应用已经开始渗透到各行各业,与生活交融,成为人们无法拒绝,无法失去的一个重要存在。…

智能语音机器人,铁打的机器,流水的价格

现如今人工智能大热,越来越多的产品打上了智能的标签来涨价,所以,当人们一听到“智能”两个字的时候,会第一时间觉得贵。那么,智能电话机器人,这种帮助企业在电销过程中筛选客户的工具,价格到底…

智能机器人

智能机器人之所以叫智能机器人,这是因为它有相当发达的“大脑”。在脑中起作用的是中央处理器,这种计算机跟操作它的人有直接的联系。最主要的是,这样的计算机可以进行按目的安排的动作。正因为这样,我们才说这种机器人才是真正的…