app开发定制公司【node.js从入门到精通】使用node.js写入读取文件内容,基础方法使用

 

目录


前言

Node.jsapp开发定制公司是一个基于Chrome V8引擎的JavaScript运行环境。

app开发定制公司区分版本号

LTSapp开发定制公司为长期稳定版,app开发定制公司推荐安装版本的Node.js. Currentapp开发定制公司为新特性尝鲜版,对热衷于尝试新特性的同学来说,推荐安装Current版本的Node.js

读取文件内容

使用readFile读取文件内容

读取失败是一个error对象

成功的话就是undefined

  1. // 1.导入fs模块,操作文件
  2. const fs = require('fs');
  3. // 2.调用readFile() 方法 来读取文件
  4. // 第一个参数是被读取文件的路径
  5. // 第二个参数是编码格式
  6. // 第三个参数是回调函数,拿到读取成功(dataStr)或者是失败的结果 (err)
  7. fs.readFile('./file/01.text', 'utf8', function (err, dataStr) {
  8. console.log(err);// 打印失败的结果
  9. console.log("---------------------");
  10. console.log(dataStr);// 打印成功的结果
  11. })

判断文件是否读取成功

  1. const fs = require('fs');
  2. fs.readFile('./file/01.txt', 'utf8', function (err, dataStr) {
  3. if (err) {
  4. return console.log('读取失败!' + err.message);
  5. }
  6. console.log('读取成功!' + dataStr);
  7. })

成功

失败

使用写入文件内容

  1. const fs = require('fs');
  2. // 三个参数
  3. // 参数1表示文件存放路径
  4. // 参数2表示要写入文件的内容
  5. // 参数3回调函数
  6. fs.writeFile('./file/02.text', 'Aic大山鱼', function (err) {
  7. // 写入成功后err的值就是null,且在该文件夹下生成一个02文件
  8. if (err) {
  9. return console.log('文件写入失败!' + err.message);
  10. }
  11. console.log('文件写入成功!');
  12. })

整理数据

思维梳理

要求:把一个文件的内容整理起来,放到另一个文件名字和分数用冒号分隔开

1.导入需要的fs文件系统模块

2.使用fs.readFile0方法,读取素材目录下的report-card.txt文件

3.判断文件是否读取失败

4.文件读取成功后,处理成绩数据

5.将处理完成的成绩数据,调用fs.writeFile0 方法,写入到新文件report-card(1).txt中

  1. // 导入fs模块
  2. const fs = require('fs');
  3. // 调用resdFile()方法 读取文件
  4. fs.readFile('./file/report-card.txt', 'utf8', function (err, dataStr) {
  5. toString(dataStr);
  6. // 判断是否读取成功
  7. if (err) {
  8. return console.log('读取失败!' + err.message);
  9. }
  10. // 把获取到的成绩用逗号分隔开保存
  11. const arrOld = dataStr.split(',');
  12. // 循环分割后的每一个数组,进行字符串的替换操作
  13. const arrNew = [];
  14. // item代表要遍历那个数组里的每一项
  15. arrOld.forEach(item => {
  16. // 把=替换成:
  17. arrNew.push(item.replace('=', ':'))
  18. });
  19. // 把新数组的每一项进行合并得到新的字符串
  20. const newStr = arrNew.join('');
  21. // 使用writeFile()方法,把处理完毕的数据写入到新文件中
  22. fs.writeFile('./file/report-card(1).txt', newStr, function (err) {
  23. if (err) {
  24. return console.log('写入失败!' + err.message);
  25. }
  26. console.log('写入成功!');
  27. })
  28. })

路径动态拼接处理问题

在使用fs模块操作文件时,如果提供的操作路径是以/或./开头的相对路径时,很容易出现路径动态拼接错误的问题。

原因:代码在运行的时候,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径。

  1. // __dirname 表示当前文件所处的目录
  2. const fs = require('fs');
  3. // 使用方法
  4. fs.readFile(__dirname + '/file/01.txt', 'utf8', function (err, dataStr) {
  5. if (err) {
  6. return console.log('读取失败!' + err.messages);
  7. }
  8. console.log('读取成功!' + dataStr);
  9. })

path模块是Node.js官方提供的、用来处理路径的模块。它提供了一系列的方法和属性, 用来满足用户对路径的处理需求。

●path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串

●path.()方法,用来从路径字符串中,将文件名解析出来

  1. const path = require('path');
  2. // ../会抵消一层路径
  3. const pathStr = path.join('/a', '/v', '../', '/d', 'c');
  4. console.log(pathStr);
  1. const path = require('path');
  2. const fs = require('fs');
  3. fs.readFile(path.join(__dirname, +'/file/01.txt'), 'utf8', function (err, dataStr
  4. ) {
  5. if (err) {
  6. return console.log(err.message);
  7. }
  8. console.log(dataStr);
  9. })

path.basename使用

  1. const path = require('path');
  2. const fpath = '/a/d/c/index.html'
  3. const fullName = path.basename(fpath);
  4. console.log(fullName);
  5. // 移除后缀名
  6. const nameWithoutExt = path.basename(fpath, '.html');
  7. console.log(nameWithoutExt);

获取路径中扩展名文件

path.extname()方法

  1. const path = require('paht');
  2. const fpath = '/a/s/d/f/index.html'// 路径字符串
  3. const fext = path.extname('fpath');
  4. console.log(fext);// 输出.html

写在最后

我是,感谢您的支持
​原 创 不 易 ✨还希望支持一下
点赞👍:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼🦈社区:💌💌

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发