js 关于文件的操作

7 篇文章 1 订阅
7 篇文章 0 订阅
这篇博客介绍了Node.js中对文件进行读取、同步与异步写入、追加、复制及删除的基本操作。使用fs模块的readFileSync、writeFileSync、copyFileSync、unlinkSync方法实现文件内容的处理,并展示了如何处理大文件。同时,涵盖了异步版本的readFile、writeFile、appendFile和copyFile方法。
摘要由CSDN通过智能技术生成

1.读取某个文件的内容

var fs = require('fs');

// 读取文件
let buf = fs.readFileSync("test.json");
let data = fs.readFileSync("test.json", "utf8");

console.log("readFileSync(): buf",buf); // Buffer 数据
console.log("readFileSync(): data",data); // 按照 utf8 格式编码解析

// 异步读取文件
fs.readFile("test.json", "utf8", (err, data)=>{
    console.log("readFile(): err", err);
    console.log("readFile(): data", data);
});

2.新建文件并在文件中写入内容

var fs = require('fs');

// 直接覆盖写入文件
fs.writeFileSync("test1.json", JSON.stringify({
    "test":"123",
    "testN":1,
    "testB":false
}));
console.log("writeFileSync(): ",fs.readFileSync("test1.json", "utf8"));
// 异步方式直接覆盖写入文件
fs.writeFile("test1.json", JSON.stringify({
    "test":"456",
    "testN":2,
    "testB":true
}), err=>{
    if(!err) {
        console.log("writeFile(): ",fs.readFileSync("test1.json", "utf8"));
    }
});

// 追加写入文件方式, 在文件的结尾添加后面的字符串
fs.appendFileSync("test2.json", "{hello}");
console.log("appendFileSync(): ",fs.readFileSync("test2.json", "utf8"));
// 异步方式
fs.appendFile("test2.json", "{hello}", err=>{
    if(!err) {
        console.log("appendFile(): ",fs.readFileSync("test2.json", "utf8"));
    } else {
        console.error("appendFile(): ",err);
    }
});

3.拷贝一个文件的内容到另一个文件中

var fs = require('fs');

// 拷贝一个文件的内容到另一个文件中
fs.copyFileSync("test.json", "test3.json");
console.log("copyFileSync(): ",fs.readFileSync("test3.json", "utf8"));
// 异步方式
fs.copyFile("test.json", "test3.json", ()=>{
    console.log("copyFile(): ",fs.readFileSync("test3.json", "utf8"));
});

4.删除某个文件

var fs = require('fs');

// 删除文件
fs.unlinkSync("test4.json");
// 异步方式
fs.unlink("test5.json", err => {
    if (!err)
        console.log("unlink(): 文件删除成功!");
    else
        console.error("unlink(): 文件删除失败!");
});

注:以上操作是针对小文件的操作,若文件过大,内存区不够用时,需要用open、read和write等方法配合操作文件,目前够用,之后有需求我再补充。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值