fs模块(一)

时间:2023-03-08 18:18:32

模块的使用,必须先引入模块

 var fs = require('fs');

1. readFile 和 readFileSync

 var fs = require('fs');
//01 readFile var readFile = (path) => {
fs.readFile(path, (err, data) => {
if (err) throw err;
console.log('文件读取成功');
console.log(data.toString());
});
}
// readFile('./package.json');
//02 readFileSync var readFileSync = (path) => {
var content = fs.readFileSync(path).toString();
console.log(content);
}
readFileSync('./package.json');

2.writeFile 和 readFileSync

将指定内容写入文件,如果该文件不存在,则自动创建文件, appendFile也具有自动创建的功能;

 //03 writeFile

 var writeFile = (path, data) => {
fs.writeFile(path, data, (err) => {
if (err) throw err;
console.log('文件异步写入成功');
})
}
// writeFile('./index.html', '<h1>hello<h1/>'); //04 writeFileSync var writeFileSync = (path, data) => {
fs.writeFileSync(path, data);
console.log('文件同步写入成功');
}
writeFileSync('./index.html', '<h1>hello<h1/>');

3. appendFile 和 appendFileSync

 //05 appendFile(path,data,'utf-8',function(err){})

 var appendFile = (path,data)=>{
fs.appendFile(path,data,'utf-8',(err)=>{
if(err) throw err;
console.log('文件异步添加成功');
})
}
//06 appendFile('./index1.html','<h1>hello</h1>'); var appendFileSync = (path,data)=>{
fs.appendFileSync(path,data);
console.log('文件同步添加成功');
}
appendFileSync('./index2.html','<h1>hello world</h1>');

4. mkdir 和 mkdirSync

 //06 mkdir

 var mkdir=(path)=>{
fs.mkdir(path,(err)=>{
if(err) throw err;
console.log('异步创建文件夹');
})
}
// mkdir('./hello'); //07 mkdirSync
var mkdirSync = (path)=>{
fs.mkdirSync(path);
console.log('同步创建文件夹');
}
mkdirSync('./world');

5. readdir 和 readdirSync

 //08 readdir

 var readdir = (path) =>{
fs.readdir(path,(err,fileNames)=>{
if(err) throw err;
console.log('异步读取文件夹成功');
console.log(fileNames.toString());
})
}
// readdir('./server'); //09 readdirSync var readdirSync = (path)=>{
var fileNames = fs.readdirSync(path);
console.log(fileNames.toString());
}
readdirSync('./server');

6. exists 和 existsSync

 //09 exists

 var exists = (path)=>{
fs.exists(path,(result)=>{
if(result){
console.log('存在该文件夹');
}else{
console.log('不存在该文件夹');
}
});
//如果存在则返回true,不存在返回false;
}
// exists('./hello'); //10 existsSync var result = fs.existsSync('./hello1');
console.log(result);
if(!result){
fs.mkdir('./hello1')
}else{
console.log('已经存在')
}

练习:

1.fs+path练习
01.判断 当前路径下的public是否存在,不存在则创建
02.判断 public下的index.html文件是否存在,不存在则创建 <h1>index</h1>
03.创建成功,取出来数据,添加到当前路径下的static文件夹下的index.html里

2.合并js文件
01.循环js文件夹下所有js文件,合并到一个js文件里
02.如果js文件夹下还有子文件夹,循环子文件夹里面所有的js,也合并到条件1中的同一个js文件中