zoukankan      html  css  js  c++  java
  • 570 node内置模块fs


    fs的API介绍


    案例:获取一个文件的状态


    文件描述符


    文件的读写


    flag选项


    encoding选项


    文件夹操作


    文件夹的复制


    01_fs的三种使用方式.js

    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(info.isFile());
    //   console.log(info.isDirectory());
    // });
    // console.log("后续需要执行的代码");
    
    // 3.方式三: Promise
    // fs.promises.stat(filepath).then(info => {
    //   console.log(info);
    // }).catch(err => {
    //   console.log(err);
    // });
    
    // console.log("后续需要执行的代码");
    
    

    02_文件描述符.js

    const fs = require('fs');
    
    fs.open("./abc.txt", (err, fd) => {
      if (err) {
        console.log(err);
        return;
      }
    
      // 通过描述符去获取文件的信息
      fs.fstat(fd, (err, info) => {
        console.log(info);
      })
    })
    

    03_文件的读写.js

    const fs = require('fs');
    
    // 1.文件写入
    // const content = "你好啊,哈哈哈";
    
    // fs.writeFile('./abc.txt', content, {flag: "a"}, err => {
    //   console.log(err);
    // });
    
    // 2.文件读取
    fs.readFile("./abc.txt", { encoding: 'utf-8' }, (err, data) => {
      console.log(data);
    });
    

    04_文件夹操作.js

    const fs = require('fs');
    
    // 1.文件写入
    // const content = "你好啊,哈哈哈";
    
    // fs.writeFile('./abc.txt', content, {flag: "a"}, err => {
    //   console.log(err);
    // });
    
    // 2.文件读取
    fs.readFile("./abc.txt", { encoding: 'utf-8' }, (err, data) => {
      console.log(data);
    });
    

    04_文件夹操作.js

    const fs = require('fs');
    const path = require('path');
    
    // 1.创建文件夹
    const dirname = './why';
    
    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) => {
    //     for (let file of files) {
    //       // fs.stat(file) 可以, 但是有点麻烦
    //       if (file.isDirectory()) {
    //         const filepath = path.resolve(dirname, file.name);
    //         getFiles(filepath);
    //       } else {
    //         console.log(file.name);
    //       }
    //     }
    //   });
    // }
    
    // getFiles(dirname);
    
    // 3.重命名
    fs.rename("./why", "./kobe", err => {
      console.log(err);
    })
    
    
    // 3.文件夹的重命名
    




  • 相关阅读:
    WebUploader大文件上传支持分场上传
    WebUploader大文件上传支持切片上传
    WebUploader大文件上传支持分片上传
    ASP.NET大文件上传支持切割上传
    ASP.NET大文件上传支持分场上传
    ASP.NET大文件上传支持切片上传
    ASP.NET大文件上传支持分片上传
    C#大文件上传支持切割上传
    C#大文件上传支持分场上传
    山中何太冷,自古非今年
  • 原文地址:https://www.cnblogs.com/jianjie/p/14232452.html
Copyright © 2011-2022 走看看