NodeJS——API使用之fs文件系统模块(2)文件系统的其他方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TDCQZD/article/details/82182512

一、API

1、文件存在类
fs.exists(path, callback) 废弃
使用 fs.stat() 代替。
fs.existsSync(path)
path:路径
如果路径存在,则返回 true,否则返回 fals
2、fs.stat()

fs.stat(path,callback)
    path:路径
    callback 
err
stats:文件的信息
    Stats {
        dev: 2114,
        ino: 48064969,
        mode: 33188,
        nlink: 1,
        uid: 85,
        gid: 100,
        rdev: 0,
        size: 527,      //文件的字节大小。
        blksize: 4096, //
        blocks: 8,
        atimeMs: 1318289051000.1, //表示文件最后一次被访问的时间戳。
        mtimeMs: 1318289051000.1,//最后一次被修改的时间戳
        ctimeMs: 1318289051000.1,// 文件状态最后一次被改变的时间戳
        birthtimeMs: 1318289051000.1,// 创建时间戳
        atime: Mon, 10 Oct 2011 23:24:11 GMT,// 最后一次被访问的时间
        mtime: Mon, 10 Oct 2011 23:24:11 GMT,// 最后一次被修改的时间。
        ctime: Mon, 10 Oct 2011 23:24:11 GMT,
//文件状态最后一次被改变的时间。
        birthtime: Mon, 10 Oct 2011 23:24:11 GMT//表示文件的创建时间
    }
stats.isFile()
    如果 fs.Stats 对象表示一个普通文件,则返回 true
stats.isDirectory()
    如果 fs.Stats 对象表示一个文件系统目录,则返回 true

3、 文件删除

fs.unlink(path, callback)

回调只有一个可能的异常参数

4、目录读取

fs.readdir(path[, options], callback)
        path
options 
        encoding 默认 = 'utf8'
callback
        err 
        files :目录数组

5、 截断文件

fs.truncate(path[, len], callback)
    path:文件路径
    len:要劫成多少个字节
    callback
        error
        完成回调只有一个可能的异常参数

6、创建文件夹

fs.mkdir(path, callback)
异步地创建目录。 完成回调只有一个可能的异常参数。

7、删除文件夹

    fs.rmdir(path, callback)

回调只有一个可能的异常参数

8、 重命名文件&目录

fs.rename(oldPath, newPath, callback)
    oldPath 
    newPath 
    callback 
        err
        完成回调只有一个可能的异常参数。

9、剪切

fs.rename(oldPath, callback)
    oldPath 
    callback 
        err
        完成回调只有一个可能的异常参数。

10、监视 filename 的变化

fs.watchFile(filename[, options], listener)
            filename <string> | <Buffer> | <URL>
            options <Object>

                    persistent <boolean> Default: true
                    interval <integer> Default: 5007
            listener <Function>

                    current <fs.Stats>
                    previous <fs.Stats>

回调函数会在文件发生变化时执行,回调函数执行时,会传递进行两个参数,这两个参数是stats类型的对象。

  • cur 表示当前文件的状态
  • pre 表示修改前文件的状态

二、代码实例:

var fs = require("fs");

/*
 fs.existsSync(path)
    - 检查一个文件是否存在
    - 参数:
        path 要检查文件的路径
    - 返回值:
        - 如果文件存在,则返回true, 否则返回false
 */

var result = fs.existsSync("ab.jpg");

//console.log(result);
/*
     fs.stat(path, callback)
     fs.statSync(path)
     - 用来获取一个文件的状态
     - 参数:
        path 要获取状态文件的路径
        callback 回调函数
             err
                - 错误对象
             stats
                - 状态对象,用来描述文件的状态
 */
/*fs.stat("a.jpg",function (err , stats) {
    if(!err){
        //size 文件的大小
        //isFile() 是否是一个文件
        //isDirectory() 是否是一个文件夹
        console.log(stats.isDirectory());
    }
});*/


/*
 fs.unlink(path, callback)
 fs.unlinkSync(path)
    - 删除一个文件
 */
/*
fs.unlink("hello.txt",function (err) {
    if(!err){
        console.log("删除成功");
    }else{
        console.log(err);
    }
});*/

/*

 fs.readdir(path[, options], callback)
 fs.readdirSync(path[, options])
    - 读取当前目录下的所有文件和文件夹的列表
    - 回调函数或返回值会返回一个数组,数组中保存的是当前文件夹下所有文件(夹)的名字

 fs.truncate(path, len, callback)
 fs.truncateSync(path, len)
    - 截断文件,使文件变成指定的大小

 fs.mkdir(path[, mode], callback)
 fs.mkdirSync(path[, mode])
    - 创建文件夹

 */

/*fs.readdir(".",function (err , files) {
    if(!err){
        console.log(files);
    }
});*/

/*fs.truncate("hello.txt", 10, function (err) {
    if(!err){
        console.log("截断成功~~~");
    }
});*/

//fs.mkdir("abc");


/*
 删除目录
 fs.rmdir(path, callback)
 fs.rmdirSync(path)

 重命名文件和目录
 fs.rename(oldPath, newPath, callback)
 fs.renameSync(oldPath, newPath)
    - 参数:
        oldPath 旧的路径
        newPath 新的路径
        callback 回调函数

    - 通过该方法也可以实现剪切的功能

 监视文件更改写入
 fs.watchFile(filename[, options], listener)
    - 监视文件的改变

 */

//fs.rmdir("abc");

/*
fs.rename("笔记.mp3","C:\\Users\\lilichao\\Desktop\\笔记.mp3",function (err) {
    if(!err){
        console.log("修改成功~~~");
    }
});*/

//监听hello.txt文件变化
/*
    回调函数会在文件发生变化时执行,回调函数执行时,会传递进行两个参数
       - 这两个参数是stats类型的对象
        cur 表示当前文件的状态
        pre 表示修改前文件的状态
 */
fs.watchFile("hello.txt",{interval:1000},function (cur , pre ) {
    //console.log("hello.txt 发生变化");
    console.log("当前文件大小:"+cur.size);
    console.log("修改前文件大小:"+pre.size);
});

猜你喜欢

转载自blog.csdn.net/TDCQZD/article/details/82182512
今日推荐