需求需要,自己读取别人文档,自己试了一下,主要用到了写入文件
1. fs.stat 获取文件大小,创建时间等信息
// 引入 fs 模块
const fs = require('fs');
fs.stat('1.js', (err, stats) => {
if (err) {
console.log(err); return false;
} else {
// 检测类型,是文件还是目录
console.log(`文件:${stats.isFile()}`);
console.log(`目录:${stats.isDirectory()}`);
if (stats.isFile()) {
// 文件大小
console.log(`size:${stats.size}`);
// 创建时间
console.log(`birth time: ${stats.birthtime}`);
// 最后一次修改时间
console.log(`modified time:${stats.mtime}`);
}
}
})
//结果如下:
文件:true
目录:false
size:6241
birth time: Wed Jul 25 2020 09:00:00 GMT+0800 (中国标准时间)
modified time:Wed Jul 25 2020 09:50:15 GMT+0800 (中国标准时间)
3.fs.mkdir 创建目录
// 创建目录
// path:将创建的目录路径
// mode:目录权限(读写权限),默认0777
// callback:回调,传递异常参数err
//文件夹不能覆盖,文件可覆盖
let path="C\XXX\XXX\XXX"
let savePath = path + '\/新建文件'
fs.mkdir(savePath ,(err)=>{
if(err){
console.log(err); return false;
}
console.log('创建目录成功');
})
4.fs.writeFile 写入文件
//注意: 如果没有 'x.txt' 文件,会先创建文件,然后写入内容,如果已经存在 'x.txt' 文件,则会覆盖原来的内容
//savePath上面的路径,
//columns就是excel标题
//allData就是excel数据,但是都要处理成字符串类型
let str = [];
columns.forEach((item)=>{
str.push(item.title)
});
//拼接字符串
allData.forEach((item, index) => {
let resData = [];
for (let key in item) {
resData += item[key] + ','
}
str += "\n" + resData
});
fs.writeFile(savePath, str , 'utf8', (err) => {
if (err) {
console.log('写入文件出错拉!具体错误:' + err)
return message.error("写入路径失败,请重新输入!")
} else {
console.log('ok');
}
});
详细文档参考:
node.js 中的 fs (文件)模块
https://www.cnblogs.com/Sky-Ice/p/9365150.html
node.js中fs文件系统模块的使用
https://www.cnblogs.com/jkko123/p/10231153.html
网友评论