P07:node内置模块 fs(2)

相关文章

今天来说一下其余经常使用的fs直属apinode

fs.Stat

  • 对象提供了关于文件的信息
    const fs = require('fs')
    fs.stat('./11_fs_stat.js',(err, stats) => {
        if (err) throw err
        console.log(stats.isFile()) // 是否为文件 true
        console.log(stats.isDirectory()) // 是否为文件夹 false
        console.log(stats) // 全部信息 ...
    })
    复制代码

特殊技巧api

// stats对象的使用技巧 判断一个文件是否是存在
    fs.stat('./11111_fs_stat.js',(err, stats) => {
        if (err) {
            // 只要报错,那么就说明文件不存在
            console.log('文件不存在,以及其余业务逻辑')
            return
        }
    })
复制代码

fs.rename

  • 修改文件名
const fs = require('fs')
fs.rename('./test.js', 'test.txt', (err) => {
    if (err) throw err
    console.log('done!')
})
复制代码

fs.unlink

  • 删除文件
const fs = require('fs')

fs.unlink('./test.txt', err => {
    if(err) throw err
    console.log('done!')
})
复制代码

fs.readdir

  • 读取文件夹
const fs = require('fs')
fs.readdir('./', (err, files) => {
    if(err) throw err
    // 注意是将全部的下属文件名,置于一个array
    console.log(files)
})
复制代码

fs.mkdir

  • 建立一个文件夹
const fs = require('fs')

fs.mkdir('test', (err) => {})
复制代码

fs.rmdir

  • 删除文件夹
const fs = require('fs')
// 不写回调函数
fs.rmdir('./test')
/**
 * 报错
 * fs.js:137
    throw new ERR_INVALID_CALLBACK();
    ^

    TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
 */
// 一部不写回调函数会报一个警告,可是在后续的版本中会报错,异步均须要编写回调函数
复制代码
const fs = require('fs')
fs.rmdir('./test', err => {}) 推荐
复制代码

fs.watch (还有一个相似fs.watchFile)

  • 监视文件变化
  • fs.watch 的 API 在各个平台上并不是 100% 一致,在某些状况下不可用。仅在 macOS 和 Windows 上支持 recursive 选项
  • 处理文件中很是有用
const fs = require('fs')
// 回调函数一参数为改变的类型,二参数为改变的文件
// recursive 回调监听子文件夹;
fs.watch('./',{recursive: true},(eventType, filename) => {
    console.log(eventType, filename)
})
复制代码

至此经常使用的api以及内置模块介绍完毕,下面将会介绍静态服务器。bash

close服务器

相关文章
相关标签/搜索