接上一篇的核心模块(querystring+url)
2.文件系统模块 fs
异步 | 同步 | 函数作用 |
---|---|---|
stat(path,callback) | statSync(path) | 查询文件状态 |
mkdir(path,callback) | mkdirSync | 创建目录 |
rmdir(path,callback) | rmdirSync | 删除目录 |
readdir(path,callback) | readdirSync | 读取目录,返回数组 |
readFIle(file,callback) | readFileSync | 读取文件 |
writeFIle(file,data,callback) | writeFileSync(file,data) | 写入文件,文件不存在则创建文件,文件存在会覆盖原有内容 |
appendFile(file,data,callback) | appendFileSync(file,data) | 在文件内容后面写入数据 |
(1)stat:
const fs=require('fs');
fs.stat('./33',(err,stats)=>{
if(err)
{
throw err;
}
//console.log(stats);
console.log(stats.isFile());
console.log(stats.isDirectory());
});
console.log('end');//异步,在stat函数之前完成
//statSync
const fs=require('fs');
var stats=fs.statSync('./2.js');
console.log(stats.isFile());
(2)mkdir:
fs.mkdir('./5',(err)=>{
if(err) throw err;
console.log('success');
});
fs.mkdirSync('./8');
(3)readdir:
fs.readdir('./8',(err,files)=>{
if(err) throw err;
//console.log(files);
});
var arr=fs.readdirSync('./8');
//console.log(arr);
for(var key in arr)
{
console.log(arr[key]);
}
(4)readFile:
const fs=require('fs');
fs.readFile('./data.txt',(err,data)=>{
if(err) throw err;
console.log(data.toString());
});
(5)writeFile:
const fs=require('fs');
console.log(fs.readFileSync('./data.txt').toString());
fs.writeFile('./data.txt','codebody.com',(err)=>{
if(err) throw err;
console.log('success');
});
const fs=require('fs');
var res=fs.existsSync('1.txt');
if(res)
{
console.log('file exists');
fs.writeFileSync('./1.txt','HelloWorld!');
console.log(' write success');
}
else{
console.log('file not exists');
fs.writeFileSync('./1.txt','HelloWorld!');
console.log('write success');
(6)appenFileSync:
var person={
eid:2,
ename:'tom',
sex:1,
salary:8000
}
for(var key in person)
{
fs.appendFileSync('./1.txt',`${key}:${person[key]}\n`);
}
综合应用:创建num.txt,每隔2秒在 文件中添加一个数字,数字从1开始,到10结束,每次加1
const fs=require('fs');
var count=1;
var str='HelloWorld!';
var res=fs.existsSync('./num.txt');
var timer2=setInterval(function(){
res=fs.existsSync('./num.txt');
if(!res)
{
console.log('num文件不存在,开始创建新文件');
var timer=setTimeout(function(){fs.writeFileSync('./num.txt','文件打开次数:'+count);},2000);
console.log('新建文件完成');
}
else{
console.log('文件已找到,正在输入HelloWorld!');
fs.appendFileSync('./num.txt','\n'+str);
count++;
fs.appendFileSync('./num.txt','\n文件打开次数:'+count);
}
if(count>10){
clearInterval(timer2);
clearTimeout(timer);
}
},2000);