1.
2.基本模块
fs: 文件系统模块,负责读写文件
读文件:fs.readFile(文件名, 编码, 回调函数),
fs.readFileSync(文件名, 编码)//不接受回调
var fs = require('fs')
//异步读取
fs.readFile('test.txt', 'utf-8', (err, data) => {
if (err) {
console.log(err)
} else {
console.log(data)
}
})
//同步读取文件
try {
var data = fs.readFileSync('test.txt', 'utf-8')
console.log(data)
} catch (err) {
console.log(err)
}
注意 :test.txt文件必须在当前目录下,且编码为utf-8
当读取二进制文件时,不传入文件编码时,回调函数的data参数将返回一个Buffer对象。Buffer是一个包含一个或任意个字节的数组,Buffer可以和String相互转换。
写文件: fs.writeFile(文件名, 写入数据, 回调), fs.writeFileSync()
var fs = require('fs')
//异步写
var data = '我是异步的哦'
fs.writeFile('test.txt', data, (err) => {
if (err) {
console.log(err)
} else {
console.log('ok...')
}
})
//同步写
var data = '我是同步的哦'
try {
fs.writeFileSync('test.txt', data,)
} catch (err) {
console.log(err)
}
stat: fs.stat(), fs.statSync() 获取文件大小、创建时间等详细信息
//异步
fs.stat('test.txt', (err, data) => {
if (!err) {
console.log(data)
}
})
//同步
try {
var data = fs.statSync('test.txt')
console.log(data)
} catch (err) {
console.log(err)
}
//console.log(data)
Stats {
dev: 1457166880,
mode: 33206,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
blksize: undefined,
ino: 1125899908486318,
size: 30,
blocks: undefined,
atimeMs: 1540785221547.4468,
mtimeMs: 1540794509931.2,
ctimeMs: 1540794509931.2,
birthtimeMs: 1540785221547.4468,
atime: 2018-10-29T03:53:41.547Z,
mtime: 2018-10-29T06:28:29.931Z,
ctime: 2018-10-29T06:28:29.931Z,
birthtime: 2018-10-29T03:53:41.547Z }
未完...