Node提供fs模块来操作文件。最常用的是:
-
fs.readFile():异步读取文件 -
fs.writeFile():写入文件 -
fs.readdir():读取目录 -
fs.stat():查看文件信息
1.fs.readFile() ------ 异步读取文件
语法:
css
fs.readFile(path[, options], callback)
path: 路径
option: 可选,指定编码(如 'utf8')等
callback: 回调函数,data 是文件内容
javascript
fs.readFile('./test.txt','utf-8',(err,data)=>{
if(err){
console.error('读取失败',err)
return
}
console.log('文件内容',data);
})
2.fs.writeFile()------写入文件,如果文件不存在就自动创建
语法:
css
fs.writeFile(file, data[, options], callback)
file: 路径
data:写入的内容
option: 可选,指定编码(如 'utf8')等
callback: 写入完成时调用
javascript
fs.writeFile('./output.txt','ahhhhhhh','utf-8',err=>{
if(err){
console.error('写入失败',err)
}
console.log('写入成功');
})
3. fs.readdir() ------ 读取目录内容
语法
css
fs.readdir(path[, options], callback)
path: 路径
option: 可选,指定编码(如 'utf8')等
callback: 回调函数,file 是文件名数组
javascript
fs.readdir('./static',(err,files)=>{
if(err){
console.error('读取目录失败',err)
return
}
console.log('目录内容',files);
})
4. fs.stat() ------ 查看文件或目录信息
语法
lua
fs.stat(path, callback)
获取文件或目录的详细信息(大小、类型、时间等) callbak:回调函数,stats 是一个 fs.Stats 对象
javascript
fs.stat('./test.txt',(err,stats)=>{
if(err){
console.error('获取信息失败',err)
return
}
console.log('是文件吗?',stats.isFile());
console.log('是文件吗?', stats.isFile())
console.log('是目录吗?', stats.isDirectory())
console.log('文件大小:', stats.size, '字节')
console.log('创建时间:', stats.birthtime)
console.log('修改时间:', stats.mtime)
})