node.js 文件操作

博客主要用于做笔记,有不理解的可以查询官方文档  http://nodejs.cn/api/

(1)同步事件的文件写入 

let fs = require("fs")         //引入fs模块

// 1. 打开 fs.openSync(path, flags[, mode])
let fd = fs.openSync("a.txt","w")

// 2. 写入 fs.writeFileSync(file, data[, options])
fs.writeSync(fd,"我有点烦")
fs.writeSync(fd,"我有点累")

// 3. 关闭 fs.closeSync(fd)
fs.closeSync(fd)

 (2)异步事件的文件写入

let fs = require("fs")    // 引入模块

// 1. 打开文件 fs.open(path, flags[, mode], callback)
// 回调有两个参数 (err, data),其中 data 是文件的内容
fs.open("b.txt","w", (err, fd) => {
      // 1.1 判断是否出错
    if(!err){
        //写入数据 fs.writeFile(file, data[, options], callback)
        fs.writeFile(fd,"今天天气很好",(err)=> {
            if(!err){
                console.log("写入成功");
            }else {
                throw err;
            }

            // 关闭文件
            fs.close(fd,(err) => {
                if(!err){
                    console.log("文件已经关闭");
                }
            })
        })
    }else{
        throw err;
    }
})

(3)写入流:用于大批数据的传输

let fs = require("fs")

// 1. 创建写入流 fs.createWriteStream(path[, options]),建立通道
let ws = fs.createWriteStream("c.txt")

// 2. 监听通道的打开关闭
ws.once("open",()=>{
    console.log("通道已经打开");
})
ws.once("close",()=>{
    console.log("通道已经关闭");
})

// 3. 数据写入
ws.write("今天心情一般般")
ws.write("有点无聊")
ws.write("有点烦")

// 4. 关闭通道
ws.end()

(4)文件的异步读取

let fs = require("fs")

//  创建文件 fs.readFile(path[, options], callback)
fs.readFile("a.txt",(err, data) => {      // 从已存在的a.txt中读取,可以读取各种类型文件
    if (!err) {
        console.log(data.toString());        // 默认为二进制流,可以用toString转换
    }else {
        throw err;
    }
});

(5)文件流读取和写入结合

let fs = require("fs")

// 1.创建写入流和读入流
let rs = fs.createReadStream("a.txt")
let ws = fs.createWriteStream("aa.txt")

// 2. 创建管道
rs.pipe(ws)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值