const fs = require('fs');

// 读取文件的信息
const filepath = "./abc.txt";

// 1 同步操作
// const info = fs.statSync(filepath); 
// console.log('后续需要执行的代码');
// console.log(info);

// 2 异步操作
// fs.stat(filepath,(err,info)=>{
//     if(err){
//         console.log(err);
//         return;
//     }
//     console.log(info)
// });  
// console.log('后续需要执行的代码');


// 3  promise 方式
fs.promises.stat(filepath).then(info=>{
    console.log(info)
}).catch(err=>{
    console.log(err)
})
console.log('后续需要执行的代码');
------------------------------
 
 
const fs = require('fs');
// 获取文件 描述符
fs.open('./abc.txt',(err,fd)=>{
    if(err){
        console.log(err);
        retrun ;
    }
    // fd => 描述符  通过描述符去获取文件的信息
    // console.log(fd);  // 3
     fs.fstat(fd,(err,info)=>{
         console.log(info)
     })
})
 
--------------------------------------
 
const fs = require('fs');
 
// 1 文件写入
// const content = '你好呀,eric';
// fs.writeFile('./abc.txt',content,{flag:'a'},err=>{
//     console.log(err)
// })

// 2 文件读取
fs.readFile('./abc.txt',{encoding:'utf-8'},(err,data)=>{
    console.log(data)
})
 
-----------------------------------
 
const fs = require('fs');
const path = require('path');

 // 1 创建文件夹
 const dirname = './Eric';

 // 判断文件夹不存在 就创建 
 if(!fs.existsSync(dirname)){
    fs.mkdir(dirname,err=>{
        console.log(err)
    })
 }
 
 // 2 读取文件夹中的所有文件
// fs.readdir(dirname,(err,files)=>{
//     console.log(files);
// })

//  function getFiles(dirname){
//     fs.readdir(dirname,{withFileTypes:true},(err,files)=>{
//         // console.log(files);
//          for(let file of files){
//             // console.log(file);
//             if(file.isDirectory()){
//                 const filePath = path.resolve(dirname,file.name);
//                 // console.log(filePath) 
//                 getFiles(filePath)
//             }else{
//                 console.log(file.name)
//             }
//          }

//     })
//  }

//  getFiles(dirname)


 // 3 文件夹的重命名
fs.rename('./Eric','./kebo',err=>{
    console.log(err);
})