node基础_写入文件
写入文件
fs中提供了四种不同的方式将数据写入文件
– 同步文件写入
– 异步文件写入
– 简单文件写入
– 流式文件写入
同步文件写入
//1,引入文件模块
let fs=require("fs");
//2,打开文件
let result=fs.openSync("test.txt","w");
//3,同步往文件写入内容
fs.writeSync(result,"今天天气真好",6);
//4,关闭文件,如果不关闭,打开的文件会一直在内存里运行,会造成资源浪费。
fs.closeSync(result);
异步文件写入
//1,引入文件模块
let fs=require("fs");
//2,打开文件
fs.open("test.txt","w",function(error,fd){
if(!error){
//3,异步往文件写入内容
fs.write(fd,"今天天气真好",function(err){
if(!err){
console.log("写入成功");
}
//关闭打开的文件
fs.close(fd,function(err2){
console.log("文件关闭");
});
});
}else{
console.log(error);
}
});
简单文件写入
简单同步文件写入
fs.writeFileSync(file, data[, options])
简单异步文件写入
fs.writeFile(file, data[, options], callback)
file:要操作的文件路径
data:要写入的数据。
options选项:可以对写入进行一些设置,这个参数是可选参数。是一个对象,如{flag:"a"},不加默认是覆盖写入。
callback:当写入完成后执行的回调函数。
如:
let fs=require("fs");
fs.writeFile("test2.txt","看我有没有把你覆盖掉",{flag:"a"},function(error){
if(!error){
console.log("写入成功");
}
});
流式文件写入
往一个文件中写入大量数据时,最好的方法之一是使用流。
同步、异步、简单文件写入都不适合大文件的写入,性能较差,容易导致内存溢出。
fs.createWriteStream(path[, options]):可以创建一个可写流
path:文件路径
options:配置参数,可以不用写,因为是带中括号的。
//1,引入文件模块
let fs=require("fs");
//创建一个可写流
let ws=fs.createWriteStream("test3.txt");
//可以通过事件监听流的open和close事件来监听流的打开和关闭。
//on(事件字符串,回调函数):可以位对象绑定一个事件。
//once(事件字符串,回调函数):可以为对象绑定一个一次性的事件,该事件将会在触发一次后自动失效。
ws.once("open",function(){
console.log("流打开了");
});
ws.once("close",function(){
console.log("流关闭了");
});
ws.write("今天天气真晴朗,");//流写入也是异步的。也就是这行代码不会阻塞程序运行。
ws.write("我是中间人,");
ws.write("处处好风光。");
//关闭流
ws.close();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!