随笔 - 312  文章 - 0  评论 - 2  阅读 - 11万

全栈:fs模块

fs模块

读取文件

fs.readFile(path,(err,data)=>{})

path 填路径 可以绝对可以相对 err代表读取失败 data代表读取成功 它是一个buffer类型的数据(二进制数据流) 可以通过toString()转化为字符串 注意:res.end()方法接受 字符串或者buffer

复制代码
// 读取文件
var fs = require('fs')
var path = __dirname
fs.readFile(path ,(err,data)=>{
    console.log(err,data);
})
//图片 文本 音频 视频(异步)
fs.readFile(__dirname+'/src/图片.jpg',(err,data)=>{
    console.log('图片',data);
})
复制代码

 

写入文件(创建文件)

fs.writeFile(path ,data,callback(er))

如果文件存在,该方法写入的内容会覆盖旧的文件内容,不存在就创建一个新的 path - 文件路径 data - 要写入文件的数据,可以是 String(字符串) callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

// 写入文件
fs.writeFile(__dirname+'/src/文本.txt,',function(err){
    console.log(err);
    
})

//创建并写入(文件不存在就会创建)(文件夹不存在报错)
// 同上

 

删除文件

fs.unlink(path,callback(err)) path - 文件路径。

callback(err) - 删除回调函数,err错误信息

// 删除文件:有权限会删除失败
fs.unlink(__dirname+'文件名',(err)=>{
    console.log(err);
})

 

以追加方式写文件

fs.appendFile(__dirname + '/test.txt', '我会追加到文件内容的末尾', function (er) { console.log('追加内容完成'); })

// 以追加方式写文件(拼接)
fs.appendFile(__dirname + '/test.txt', '我会追加到文件内容的末尾', function (err) {
  console.log('追加内容完成');
})

 

创建目录

fs.mkdir(__dirname + '/test', function (err) { if(err) throw err console.log('创建目录成功') })

 

//创建目录
fs.mkdir(__dirname + '/dir', function (err){})

 

移动/重命名文件或目录

整个功能相当于重命名一个文件/文件夹路径

fs.rename(oldPath, newPath, callback);

oldPath, 原目录/文件的完整路径及名;

newPath, 新目录/文件的完整路径及名;如果新路径与原路径相同,而只文件名不同,则是重命名

callback(err), 操作完成回调函数;

err操作失败对象

移动文件有一个bug:新路径和旧路径必须是同一个根盘

 

// 移动:更改文件夹目录,更改文件夹名字,更改文件名
var oldpath = __dirname+'文件夹/文件'
var newpath = __dirname+'文件夹/文件' 
fs.rename(oldpath,newpath,(err)
=>{})

 

拷贝文件

fs.copy(oldPath, newPath, callback);

oldPath, 原文件的完整路径;

newPath, 新文件的完整路径;

callback(err), 操作完成回调函数;

err操作失败对象

拷贝文件以后两个文件都会存在磁盘中

 

//拷贝文件
fs.copy(oldPath, newPath, (err)=>{});

 

实例:

// fs模块————

// 引入fs系统自带的模块 file system
var fs = require("fs")
//读取文件
fs.readFile('bird.png',(err,data)=>{
    console.log(err,data);
})

 

posted on   香香鲲  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示