zoukankan      html  css  js  c++  java
  • Node.js中的fs 模块

    //  file system 是node的文件处理模块
    
    const fs = require('fs')
    const path = require('path')
    // 1. readFile 此函数用来异步读取文件,并在回调中可以获取读取文件结果
    // 这个方法会将一个文件的全部内容都读到内存中,适合于体积小的文本,如果文件有数百MB大小,则建议使用stream
    let filePath = path.join(__dirname, 'test.txt')
    
    fs.readFile(filePath, 'utf8', ( error, data) => {
        console.log('readFile:', error, data)
    })
    
    // 1.1 readFileSync 是readFile 的同步版本可以直接返回读取结果
    const data1 = fs.readFileSync(filePath,  'utf8')
    // const data1 = fs.readFileSync(filePath, {encoding:'UTF-8'} )
    console.log('readFileSync:', data1)
    
    
    // 2. writeFile 写入文件,第一参数为文件名,如果不存在则会尝试创建它
    let writePath = path.join(__dirname, 'test1.txt')
    let data2 = '这是一个写入的数据'
    
    // fs.writeFile(writePath, data2 , 'utf8', ( res ) => {
    //     console.log('writeFile:', res)
    // })
    
    let writePath1 = path.join(__dirname, 'test2.txt')
    // 2.1 writeFileSync 写入文件,writeFile 的同步版本
    // const data3 = fs.writeFileSync( writePath1, data2, 'utf8')
    // console.log('writeFileSync:', data3)
    
    // 3. stat(path, callback) 用来获取文件的状态,通常在调用open(),read() 等方法之前,用fs.stat方法
    // 判断该文件是否存在,如果存在就会返回文件状态信息
    fs.stat(filePath, (error, result) => {
        // console.log(result)
    })
    // 3.1 同步版本
    const data4 = fs.statSync(filePath)
    
    // 4. readdir(path, function(error, result)) 读取目录下文件及目录
    fs.readdir(__dirname, (error, result) => {
        console.log('readdir:', error,result)
        // [ 'buffer.js', 'fs.js', 'test.txt' ]
    })
    
    // 4.1 获取目录下所有子文件
    function getDirFile(dirPath){
        fs.readdir(dirPath, (error, result) =>{
            console.log('result',result)
            for (let item of result) {
                const fileStatus = fs.statSync(path.join(dirPath, item))
                // console.log('fileStatus:',fileStatus)
            //    console.log(fileStatus.isDirectory()) // 判断是否为文件夹
                if(fileStatus.isDirectory()){
                    getDirFile(path.join(dirPath, item))
                }
            }
        })
    }
    getDirFile(__dirname)
    
    
  • 相关阅读:
    css选择器中:first-child与:first-of-type的区别
    Chrome 快捷键
    notepad++ html格式化
    Linux VFS的主要的数据结构
    Linux根文件系统介绍
    Linux文件系统测试工具
    p​o​s​t​m​a​r​k​使​用
    虚拟文件系统
    linux文件系统初始化过程(6)---执行init程序
    linux文件系统初始化过程(4)---加载initrd(中)
  • 原文地址:https://www.cnblogs.com/liea/p/12079302.html
Copyright © 2011-2022 走看看