node中fs模块

node引用fs模块,异步读取文件:

'use strict'
var fs = require( 'fs');

fs. readFile( 'example.txt', 'utf-8', function( err, data) {
if ( err) {
console. log( err)
} else{
console. log( data)
}
})

node引用fs模块,异步读取二进制文件(图片):

fs. readFile( 'add_func.png', function( err, data) {
if ( err) {
console. log( err)
} else{
console. log( data)
console. log( data. length+ 'bytes')
}
})

当读取二进制文件,不传入文件编码时,回调函数的data参数将返回一个buffer对象,在node中buffer对象就是一个包含零个或任意个字节的数组(注意:和Array不一样),buffer对象可以和string转换。

data. toString( 'utf-8');
Buffer. from( aa, 'utf-8')


fs同步读取文件:

var dataSync = fs. readFileSync( 'add_func.png', 'utf-8')
console. log( dataSync);
try{
var data_ = fs. readFileSync( 'add_func.png', 'utf-8')
console. log( data_)
} catch( error){
console. log( error)
}

fs写入文件:

var data_write = 'hello nodeJs456';
fs. writeFile( 'write.txt', data_write, function( err) {
if ( err) {
console. log( err)
} else{
console. log( 'ok')
}
})

fs同步写入文件:

fs. writeFileSync( 'write.txt', data_write+ '123');

如果我们要获取文件的大小、创建时间等信息,可以使用fs.stat(),返回一个stat对象,包含文件详细信息

fs. stat( 'write.txt', function( err, stat) {
if ( err) {
console. log( err)
} else{
console. log( stat. isFile())
}
})

在fs模块中提供同步方法是为了方便使用,但是由于node环境执行的javascript代码是服务端代码,绝大部分是在服务器运行时期需要反复执行的业务逻辑代码,所以必须使用异步,否则同步代码执行期间,服务器将停止响应。

服务器启动时读取配置文件或者,服务器结束时需要写入状态文件,可以用同步代码,因为只在启动和结束执行一次,所以不影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值