1.引入fs模块
var fs = require('fs');
2.fs中新建文件或者文件夹
2.1 mkdir() 新建文件夹
mkdir() 函数用于创建文件夹,第一个参数是相对路径,第二个参数是一个回调函数,写入成功是null;写入失败的时候,回调函数的参数就是错误信息对象
fs.mkdir('./mydir/new',function(err){
if (!err) {
console.log('创建完成');
}
})
2.2 新建文件
2.2.1 writeFile 写入文件
writeFile() 写入文件;如果文件不存在,会自动创建并写入;如果文件里面有数据,会把原来的数据覆盖掉
fs.writeFile('myDir/text','新信息',result=>{
// 写入成功是null;写入失败的时候,回调函数的参数就是错误信息对象
if (!result) {
console.log('写入成功');
}
})
2.2.1 appendFile 写入文件
appendFile() 写入文件;如果文件不存在,会自动创建并写入;如果文件里面有数据,会在原有的数据后面加上新的数据;第二个参数是新的信息;第三个参数同上;
fs.appendFile('./mydir/text.txt','new message',err=>{
if (!err) {
console.log('写入成功');
}
})
第一个参数是要创建的文件的路径和文件名,如果该路径已经有此文件,将在该文件的原始数据后面第二个参数是;
3.删除文件或者文件夹
3.1rmdir 删除文件夹
rmdir 删除文件夹
fs.rmdir('./mydir/wenjianjia',err=>{
if (!err) {
console.log('删除成功');
}
})
第一个参数是要删除的文件夹的路径和文件名,第二个参数同上;
3.2unlink 删除文件
unlink 删除文件
fs.unlink('./mydir/text',err=>{
if (!err) {
console.log('删除成功');
}
})
第一个参数是要删除的文件的路径和文件名,第二个参数同上;
4.修改或者移动文件或文件夹
rename() 可以修改文件或者文件夹的名字和位置
fs.rename('./mydir/345','./678',err=>{
if(!err){
console.log('修改成功');
}
})
第一个参数是文件原本的路径和文件或文件夹名。第二个参数移动后的路径和修改完的文件或文件名;第三个参数同上;
5.查找文件夹或者文件
5.1 exists (在node16.6的版本后已经废弃) 查找文件
exists() 第一个参数是目录和文件名或文件夹;第二参数是回调函数,回调函数的结果一个布尔值,如果存在返回一个true,不存在返回一个false
fs.exists('./mydir/123.txt',flag=>{
if (flag) {
console.log('存在');
}
})
5.2 stat 查找文件
stat 第一个参数是目录和文件名或文件夹;第二个参数是个回调函数,如果第一个参数的路径下的文件不存在,回调函数的参数就是错误信息对象,存在返回null
fs.stat('./mydir/a.txt',err=>{
if (!err) {
console.log('存在');
}
})
5.3 access 查找文件
access 第一个参数是目录和文件名或文件夹;第二个参数是个回调函数,如果第一个参数的路径下的文件不存在,回调函数的参数就是错误信息对象,存在返回null
fs.access('./mydir/a.txt',err=>{
if (!err) {
console.log('存在');
}
})
6.读取文件或者文件夹
6.1readdir 读取文件夹
第一个参数是目录和文件夹名字;第二个参数是回调函数;回调函数中第一个参数同上,第二个参数是读取到的信息,读取到的信息是以一个buffer格式的数据(buffer是内存中缓存数据格式, 16进制 可以调用toString()转成字符串);err是报错的信息对象,那么data是undefind;
fs.readdir('./mydir/123',(err,data)=>{
if (!err) {
console.log(data);
}
})
6.2readFire 读取文件
第一个参数是目录和文件名;第二个参数是回调函数;回调函数中第一个参数同上,第二个参数是读取到的信息,读取到的信息是一个数组;err是报错的信息对象,那么data是undefind;
fs.readFile('./mydir/123.txt',(err,data)=>{
if (!err) {
console.log(data.toString());
}
})