当前位置:网站首页>node中对文件的基本操作
node中对文件的基本操作
2022-07-30 05:41:00 【我爱RMB】
在node.js中进行文件的操作
在进行文件操作之间需要先导入fs包
const fs = require("fs")
文件的异步读取
const options = {
flag:"r",
encoding:"utf-8"
}
function fsRead(filePath){
return new Promise(function(resolve,reject){
// 异步读取
fs.readFile(filePath,options,function(err,data){
if(err) {
reject(err)
}else {
resolve(data)
}
})
})
}
var w1 = fsRead("hello.txt")
w1.then(function(result) {
console.log(result)
})
文件内容的追加操作
同样的也是需要先导入fs包
function addFileContent(path,caonetn){
const options = {
flag:"a+",
encoding:"utf-8"
}
//向文件写入
return new Promise(function(resolve,reject){
fs.writeFile(path,caonetn+"\n",options,(err)=>{
if(!err){
resolve("ok")
}else {
reject(err)
}
})
})
}
const filePath = 'test.txt'
async function addList(){
await addFileContent(filePath,"今晚吃什么1")
}
对目录进行读取操作
首先通过fs包的readdir方法获取指定目录下存在的目录列表,然后通过得到的文件路径之后,进行文件的读取操作。如果想每层都获取到则可以使用递归的方式进行依次的遍历,这里就不再做演示。只有一层的读取
const fs = require("fs");
/** * * @param {*} filePath 读取的文件地址 * @returns 返回一个promise实例对象 */
function readFile(filePath){
const options = {
flag:"r",
encoding:"utf-8"
}
return new Promise(function(resolve,reject){
fs.readFile(filePath,options,function(err,data){
if(!err) {
resolve(data)
}else {
console.log(err)
}
})
})
}
// 读取指定目录下的文件列表
var fileList = [];
var baseUrl = "../node_modules"
fs.readdir(baseUrl,function(err,file){
if(!err) {
fileList = file
}else {
console.log(err)
}
redFileList(fileList)
})
async function redFileList(dataList){
console.log(dataList)
if(dataList) {
for(var i = 0; i < dataList.length; i++) {
console.log(dataList[i])
var data = await readFile(baseUrl + "/"+dataList[i])
console.log(data)
console.log("==================================================================")
};
}
}
文件的删除操作
通过使用fs的unlink方法删除指定路径的文件
// 删除文件
fs.unlink("hello3.txt",(err)=>{
console.log(err)
})
边栏推荐
猜你喜欢
随机推荐
4461. Range Partition (Google Kickstart2022 Round C Problem B)
453.最小操作数使数组元素相等
art-template模板引擎过滤器的使用【入门简单使用篇】
let到底会不会造成变量提升
多进程实现并发服务器
操作系统面试整理
Prime numbers (Tsinghua University computer test questions) (DAY 86)
131.分割回文串
社区版idea 最右侧没有Database怎么办
P3 元宝的笔记
用h1~h5标题时候,但是如果不要加粗的效果,处理方法如下
微积分 / 自动求导
Socket通信编程
【C语言】三子棋(井字棋)的实现
SRA数据下载方法总结
条件变量解决生产者消费者问题
Qt实现单击或双击QTableWidge/View表头进行排序
Application Practice | Application Practice of Apache Doris in Baidu Intelligent Cloud Billing System
C语言人机大战之三字棋博弈
HCIP-第九天-BGP(边界网关协议)



![[网鼎杯 2020 青龙组]AreUSerialz](/img/f2/9aef8b8317eff31af2979b3a45b54c.png)




