node.js文件写入与导出

399 阅读2分钟

这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战

Node 是什么?

Node 是一个基于Chrome V8 引擎的JavaScript 运行环境。

Node 不是一种独立的语言、Node不是 JavaScript 框架,

Node是一个除了浏览器之外的、可以让JavaScript 运行的环境

Node.js 是一个让 JavaScript 运行在服务端的开发平台,是使用 事件驱动, 异步非阻塞I/O,单线程,跨平台的 JS 运行环境;

(一)文件的读取与写入

步骤大概:

  1. 读取文件
  2. 把内容以空格分割添上逗号
  3. 将=替换成:
  4. 写入新文件
  5. 使用__dirname保证移植性和可维护性 readFile方法是将要读取的文件内容完整读入缓存区,再从该缓存区中读取文件内容

通过readFile方法来读取我们需要转换的文件,通过split方法以空格方式进行分割。 forEach方法来遍历arrOld数组,把等号转换成:,然后添加进新数组。

writeFile方法是将要写入的文件内容完整的读入缓存区,然后一次性的将缓存区中的内容写入都文件中。 通过writeFile来写入文件,格式如下 writeFile('文件路径','写入内容','回调函数')

const fs=require('fs')

fs.readFile(__dirname+'/aa.txt','utf-8',function(err,dataStr){
    if(err){
    return console.log('失败'+err.message);
}
console.log('成功'+dataStr);
const arrNew=[]
//分割
const arrOld=dataStr.split(' ')
arrOld.forEach(item=>{
    arrNew.push(item.replace('=',':'))
})
console.log(arrNew);
const newArr=arrNew.join('\r\n')
console.log(newArr);

//5.写入新文件
fs.writeFile('./bb.txt',newArr,function(err){
    if(err){
        return console.log('写入文件失败'+err.message);
    }
    console.log('写入成功');
})
})

这里主要的知识点就是用'_dirname'来替换‘../路径’。

由于该方法属于path模块,使用前需要引入path模块(var path= require(“path”) ) Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,相反,./ 会返回你执行 node 命令的路径,例如你的工作路径。

有一个特殊情况是在 require() 中使用 ./ 时,这时的路径就会是含有 require() 的脚本文件的相对路径。

(二)path路径模块

1.使用path.join来拼接目录

const path=require('path');
//../会抵消前面的路径
const pathStr=path.join(__dirname,'/aa.txt')
console.log(pathStr);

2.使用path.baseName来查看文件名 path.basename(filepath), 是获取路径的最后一部分。 可以看看如下代码:

const fpath='/a/b/c/index.html';
const fullName=path.basename(fpath)
console.log(fullName);
const nameExt=path.basename(fpath,'.html')