Node.js 简单文件、流式文件的写入

ZCQ
日期:2021年1月30日

简单文件的写入

fs.writeFile(file, data[, options], callback)
fs.writeFileSync(file, data[, options])
-file 要操作的文件的路径
-data 要写入的数据
-options 选项,可以对写入进行一些设置
-callback 当写入完成后执行的函数

文件的打开状态:

模式说明
r读取文件,文件不存在则异常
r+读写文件,文件不存在则异常
rs在同步模式下打开文件用于读取
rs+在同步模式下打开文件用于读写
w打开文件用于写操作,如果文件不存在则创建,如果文件存在则截断
wx打开文件用于写操作,如果存在则打开失败
w+打开文件用于读写,如果不存在则创建,如果存在则截断
wx+打开文件用于读写,如果存在则打开失败
a打开文件用于追加,如果不存在则创建
ax打开文件用于追加,如果路径存在则失败
a+打开文件用于读取和追加,如果不存在则创建文件
ax+打开文件用于读取和追加,如果路径存在则失败

一般常用的有w , r , a

实例:

var fs=require("fs");
fs.writeFile("hi2.txt","这是通过fs.writeFile写入的内容",function(err){
    if(!err){
        console.log("写入成功");

    }
})

同步、异步、简单文件的写入都不适合大文件的写入,性能较差,容易导致内存溢出
流式文件的写入克服了上述缺点

流式文件的写入

创建一个可写流:
fs.createWriteStream(path[, options])
-创建一个可写流
-path:文件的路径
-options 配置的参数


//流式文件的写入
var fs=require("fs");
var ws=fs.createWriteStream("hi3.txt");
ws.write("通过可写流写入文件的内容");

//通过监听流的open和close实践来监听流的打开和关闭
ws.once("open",function(){
    console.log("流打开了");
});

ws.end(); //注意,用end(),不用close()

ws.once("close",function(){
    console.log("流关闭了");
});

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Node.js中,图像处理库的选择主要取决于你的具体需求。有许多库可以用于图像处理,例如使用Node.js内置的和模块。但是,这些库通常主要用于读取、转换和写入图像文件,而不太适合处理大规模图像数据。在这种情况下,使用处理更为合适,因为这样可以更高效地处理大量数据。 以下是一些Node.js图像处理库的介绍: 1. **sharp**:这是一个行的Node.js图像处理库,它支持处理。它提供了一种简单的方法来转换图像,包括缩放、旋转、裁剪、调整色彩和亮度等。它也支持许多不同的输入和输出格,包括JPEG、PNG、TIFF等。 2. **gulp-image-pipeline**:这是一个用于处理图像的gulp插件,它支持处理。它可以帮助你转换图像格、调整大小、裁剪、旋转等。 3. **node-canvas**:这是一个基于Canvas的图像处理库,它支持在Node.js中创建和处理图像。它提供了许多用于图像处理的API,包括缩放、旋转、裁剪、调整色彩等。 4. **gm**:这是一个Node.js模块,它使用Google的图形处理库(gm)进行图像处理。gm是一个强大的图形处理库,支持许多不同的图像格和操作。 这些库中的每一个都有自己的优点和适用场景。在选择时,你应该考虑你的具体需求,例如需要处理多大的图像数据、需要执行哪些类型的图像处理操作等。另外,在使用这些库时,要注意性能和资源消耗问题,以确保你的应用程序能够高效地处理大量图像数据。 以上是一些行的Node.js图像处理库,但可能还有其他库或工具可供选择。你可以根据你的具体需求进行搜索和评估,以找到最适合你的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南大学苹果实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值