node.js 中的 fs (文件)模块

记录 fs 模块的方法及使用

1. fs.stat 获取文件大小,创建时间等信息

// 引入 fs 模块
const fs = require('fs');

fs.stat('01.fs.js', (err, stats) => {
    if (err) {
        console.log(err);
     return false; }
else { // 检测类型,是文件还是目录 console.log(`文件:${stats.isFile()}`); console.log(`目录:${stats.isDirectory()}`); if (stats.isFile()) { // 文件大小 console.log(`size:${stats.size}`); // 创建时间 console.log(`birth time: ${stats.birthtime}`); // 最后一次修改时间 console.log(`modified time:${stats.mtime}`); } } })

结果如下:

文件:true
目录:false
size:624
birth time: Wed Jul 25 2018 09:22:08 GMT+0800 (中国标准时间)
modified time:Wed Jul 25 2018 09:31:05 GMT+0800 (中国标准时间)

 

2. fs.mkdir 创建目录

// 创建目录
// path:将创建的目录路径
// mode:目录权限(读写权限),默认0777
// callback:回调,传递异常参数err
fs.mkdir('css',(err)=>{
    if(err){
        console.log(err);
     return false; } console.log(
'创建目录成功'); })

 

3. fs.writeFile 写入文件

// filename  (String)  文件名称

// data  (String | Buffer)   将要写入的内容,可以使字符串 或 buffer数据。

// options  (Object)     option数组对象,包含:

// · encoding  (string)    可选值,默认 ‘utf8′,当data使buffer时,该值应该为 ignored。

// · mode  (Number)   文件读写权限,默认值 438

// · flag    (String)     默认值 ‘w'

// callback {Function}  回调,传递一个异常参数err。
fs.writeFile('t.txt','你好 node.js',(err)=>{
    if(err){
        console.log(err);
     return false;
   }
    console.log(
'写入成功');
})

注意: 如果没有 't.txt' 文件,会先创建文件,然后写入内容,如果已经存在 't.txt' 文件,则会覆盖原来的内容

 

4.fs.appendFile 追加文件

fs.appendFile('t1.txt','这是写入的内容',(err)=>{
if(err){
console.log(err);
return false;
}
console.log('追加成功');
})

注意:如果要追加的文件不存在,则创建该文件,多次执行可以多次追加,而 writeFile 则是覆盖掉原来的内容

 

5. fs.readFile 读取文件

// 读取文件内容
fs.readFile('index.txt', 'utf-8', (err, data) => {
    if (err) {
        console.log(err);
        return false;
    } else {
        console.log(data);
    }
})

 

6. fs.readdir 读取目录

比如,我想读取这个目录下的文件及文件夹

// 读取目录
fs.readdir('html',(err,data)=>{
    if(err){
        console.log(err);
    }else{
        console.log(data);
    }
})

结果如下:

[ 'css', 'index.html', 'js' ]

 

 7.1 fs.rename  重命名

// 重命名
fs.rename('html/index.html','html/news.html',(err)=>{
    if(err){
        console.log(err);
        return false;
    }else{
        console.log('修改名字成功');
    }
})

结果如下:

 

7.2 fs.rename 重定向

在 html 目录下新建一个 index.css 文件,现在,想将这个文件放入到 css 文件夹下,代码如下:

fs.rename('html/index.css','html/css/index.css',(err)=>{
    if(err){
        console.log(err);
        return false;
    }else{
        console.log('重定向成功');
    }
})

结果如下:

当然,也可以将重命名及重定向同步进行,代码如下:

fs.rename('html/index.css','html/css/basic.css',(err)=>{
    if(err){
        console.log(err);
        return false;
    }else{
        console.log('重定向及重命名成功');
    }
})

结果如下:

 

8. fs.rmdir 删除目录

fs.rmdir('html/js',(err)=>{
    if(err){
        console.log(err);
        return false;
    }else{
        console.log('删除js文件夹成功');
    }
})

 

9. fs.unlink 删除文件

//  删除文件
fs.unlink('1.txt',(err)=>{
    if(err){
        console.log(err);
        return false;
    }else{
        console.log('删除文件成功');
    }
})

 

posted @ 2018-07-25 11:50  Sky_Ice  阅读(2658)  评论(0编辑  收藏  举报