当前位置:网站首页>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)
})
边栏推荐
猜你喜欢
随机推荐
Error: listen EADDRINUSE: address already in use 127.0.0.1:3000
646.最长数对链(动态规划)
js方法 reduce 用法
MySQL user authorization
安装pytorch
在弹性布局flex布局中,行内标签也能直接加宽高
C语言(1)
零基础C语言“函数”教程,有手就行
使用Nodejs搭建Web Server(入门教程)
HCIP-第九天-BGP(边界网关协议)
Record Breaker (Google Kickstart2020 Round D Problem A)
uni-app:关于自定义组件、easycom规范、uni_modules等问题
P3 元宝序列化笔记
字符串(一) 哈希
Numpy 中 np.vstack() 和 np.hstack() 简单解析
Art-template 中文文档[详细篇]
[Other] DS5
【C语言】三子棋(井字棋)的实现
Qt通过QSttings类读取*.ini配置文件
使用Context API维护全局状态

![Art-template 中文文档[详细篇]](/img/72/d3e46a820796a48b458cd2d0a18f8f.png)






