fs
创建文件夹
fs.mkdir('logs', (err) => {
if(err) throw err;
console.log('文件夹创建成功');
})
重命名文件夹
fs.rename('./logs', './log', (err, content) => {
console.log('重命名成功。');
})
删除文件夹
fs.rmdir('./log', (err, content) => {
console.log('删除成功');
})
读取文件
fs.readFile('./logs/log-0.log', 'utf-8', (err, content) => {
console.log(content);
})
写入文件
fs.writeFile('./logs/log.log', `hello \nworld`, (err, content) => {
console.log('写入成功。');
})
删除文件
fs.unlink('./logs/log-9.log', (err, content) => {
console.log('删除成功');
})
批量写入文件
for(let i = 0; i < 10; i++){
fs.writeFile(`./logs/log-${i}.log`,`log-${i}`, (err, content) => {
console.log('写入成功')
})
}
批量写入文件
function readDir(dir) {
fs.readdir(dir, (err, stats) => {
console.log('stats',stats);
stats.forEach((stat,index) => {
fs.stat(`${dir}/${stat}`, (err, data) => {
if(data.isFile()) {
fs.readFile(`${dir}/${stat}`, 'utf-8', (err, content) => {
console.log(content);
})
}else {
readDir(`${dir}/${stat}`)
}
})
})
})
}
监听一个文件
fs.watch('./logs/log-0.log',(err,data ) => {
console.log('文件被更新');
})
将某个文件夹的内容复制到其他的文件夹下
function copyDir(dir, outdir) {
fs.readdir(dir, (err, stats) => {
stats.forEach((stat, index) => {
fs.stat(`${dir}/${stat}`, (err, data) => {
console.log('data',data)
if (data.isFile()) {
fs.copyFileSync(`${dir}/${stat}`,`${outdir}/${stat}`)
} else {
if(!fs.existsSync(`${outdir}/${stat}`)) {
fs.mkdirSync(`${outdir}/${stat}`)
}
copyDir(`${dir}/${stat}`, `${outdir}/${stat}`)
}
})
})
})
}
将某个文件夹下的文件合并到一块
function ConcatFile(__dirname, content="") {
if (!fs.existsSync(__dirname)) {
console.log("没有该文件夹");
return;
}
let files = fs.readdirSync(__dirname);
files.forEach((item, index) => {
var item_path = path.resolve(__dirname, item);
var temp = fs.statSync(item_path);
if (temp.isFile()) {
let fileContent = fs.readFileSync(item_path,'utf-8');
content += fileContent
} else if (temp.isDirectory()) {
ConcatFile(item_path, content);
}
});
return content
}
拷贝文件
fs.copyFile('源文件.txt', '目标文件.txt', (err) => {
if (err) throw err;
console.log('源文件已拷贝到目标文件');
});