美文网首页
node fs模块

node fs模块

作者: 广州芦苇科技web前端 | 来源:发表于2018-11-06 12:28 被阅读0次

作者: 黄杰;
标签: fs模块


文件系统(File System)

基本概念

  • 服务器的本质就是将本地的文件发送给远程客户端
  • 学习fs模块的API
  • 使用fs模块前,需要引入 cost fs = require('fs');

特点

  • 提供同步异步两种选择
  • 同步导致阻塞
  • 异步操作完成通过回调返回结果

使用

同步写入操作

let fs = require("fs");

//同步打开文件
let fd = fs.openSync('text_1', 'w');
console.log(fd)

//写入内容
fs.writeFileSync(fd, 'hello ink!');

//退出
fs.closeSync(fd);

异步写入操作

let fs = require("fs");

fs.open("text_2.txt", "w", (err, fd) => {
    if( !err ) {
        fs.writeFile(fd, 'ink nice to meet u!!', (err) => {
            if( !err ) {
                console.log('success');
                fs.close(fd, (err) => {
                    if ( !err ) {
                        console.log('file closed');
                    } else {
                        throw err;
                    }
                })
            } else {
                throw err;
            }
        });
    } else {
        throw err;
    }
})

文件流写入操作

let fs = require("fs");

let ws = fs.createWriteStream('text_3.txt');

//打开通道
ws.once('open', () => {
    console.log('通道已打开!')
})

ws.write("what's your name?\n");
ws.write("what's your name?\n");
ws.write("what's your name?\n");
ws.write("what's your name?\n");

ws.end();

//监听通道关闭
ws.once('close', () => {
    console.log('通道已关闭!')
})

文件读取操作

读取图片并写入到另一个文件中(单个文件操作)

let fs = require("fs");

fs.readFile("../images/deskPic1.jpg", (err, data) => {
    if ( !err ) {
        console.log(data);
        //写入图片文件
        fs.writeFile('receiveimage_1.jpg', data, (err, data) => {
            if ( !err ) {
                console.log('transfer success!');
            } else {
                throw err;
            }
        })
    } else {
        throw err;
    }
})

使用文件读入流处理

let fs = require("fs");

let readStream = fs.createReadStream("../images/deskPic2.jpg"); 

let writeStream = fs.createWriteStream("receiveimage_2.jpg");

//监听文件流打开关闭
readStream.once('open', () => {
    console.log('readstream opened');
})

readStream.once('clos', () => {
    console.log('readstream closed');
})

writeStream.once('open', () => {
    console.log('writeStream opened');
})

writeStream.once('clos', () => {
    console.log('writeStream closed');
})

//读入流操作
readStream.on('data', (data) => {
    console.log(data);
    //文件过大时分段读取
    //写入
    writeStream.write(data);
})

简便方法

let fs = require("fs");

let readStream = fs.createReadStream("../images/deskPic2.jpg"); 

let writeStream = fs.createWriteStream("receiveimage_2.jpg");

//创建管道

readStream.pipe(writeStream);

相关文章

  • 关于node.js一些模块的记录「FS模块」

    目录 Node.JS教程 FS模块 Path模块 FS模块 Path模块 Node.js path 模块提供了一些...

  • 04-文件读写

    fs模块---》操作文件---》io----》node的特长 fs模块是node非常重要的模块,能体现出node的...

  • 2016,9,13

    ##node.js的学习 #node.js的fs模块 var fs = require('fs'); functi...

  • 初步认识node.js

    fs系统模块:读取文件: // node 读取文件const fs = require('fs');fs.read...

  • node.js学习(2)——fs模块

    上一节-node.js学习(1)— http模块 1.文件模块-fs fs模块是node自带的文件系统模块。我们这...

  • 三:fs模块

    node的fs模块是文件模块,为node自带的模块,负责文件的读写。fs模块可以同步和异步读写文件 1. 异步读取...

  • 八:Node文件系统管理

    导入:var fs = require("fs") 定义:Node.js 文件系统(fs 模块)模块中的方法均有异...

  • Node学习(8)--文件系统

    Node.js 文件系统 Node 导入文件系统模块(fs)语法如下所示:var fs = require("fs...

  • node.js文件操作

    fs 文件操作用的模块为node.js中的fs模块.因此要提前将其引入. var fs = require('fs...

  • node模块

    node 模块 内置模块http ( creatServer)fs (resdFileSync,writeFile...

网友评论

      本文标题:node fs模块

      本文链接:https://www.haomeiwen.com/subject/ajtuxqtx.html