nodejs读取文档(非流式读取)

nodejs读取文档(非流式读取)

Nodejs中fs模块文件系统的使用*
写在前面,所有的语法,都是基于引入 fs 后实现的!!!(对于下面的代码,只需要添加var fs=require(“fs”);即可)
  1. 读取文件

异步读取数据

var fs=require("fs");
fs.readFile("content.txt",function(err,data){
    if(err){
        console.log(err);
        return false;
    }
    console.log(data.toString());
});

参考结果

(同步读取数据)

var data =fs.readFileSync("content.txt");
console.log(data.toString());
  1. 读取文件,判断是目录还是文件
fs.stat("content.txt",function(err,stat){
    if(err){
        console.log(err);
        return false;
    }
    console.log("是否为文件"+stat.isFile());
    console.log("是否为目录"+stat.isDirectory());
});

参考结果


  1. 文件的写入 (追加 覆盖)

    1. 覆盖
    fs.writeFile("../text2/new.txt","我在测试写入文件",function(err){
        if(err){
            console.log(err);
            return false;
        }
    });
    
    1. 追加
    var txt="我真的是zl呀";
    fs.appendFile("../text2/new.txt",txt,function(err){
        if(err){
            console.log(err);
        }
    })
    

覆盖

追加

4.创建目录(如果目录已存在则不创建,经常用于图片的上传与下载)

fs.mkdir("./upload",function(err){
    if(err){
        console.log(err);
        return err;
    }
    console.log("创建目录成功")
})

参考结果

5.读取目录

fs.readdir("upload",function(err,files){
    if(err){
        console.log(err);
        return false;
    };
    console.log(files);
});

参考结果

6.一个小demo(读取目录,判断子是是文件还是目录

var filename="upload"
fs.readdir(filename,function(err,files){
    if(err){
        console.log(err);
        return false;
    };
    console.log(files);
    // 用var定义file时,会导致拿不到索引值,可以用let代替,完美解决
    // 原因是fs的方法异步执行
    for(let file in files){
        fs.stat(filename+"/"+files[file],function(err,stat){
            if(err){
                console.log(err);
                return false;
            };
            
            console.log(files[file],stat.isDirectory()?"是目录":"是文件");
        })
    }
})

参考结果


END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值