>  기사  >  웹 프론트엔드  >  NodeJs의 Fs 모듈에 대한 자세한 소개(코드 예)

NodeJs의 Fs 모듈에 대한 자세한 소개(코드 예)

不言
不言앞으로
2019-01-11 11:27:433624검색

이 글은 NodeJs의 Fs 모듈에 대한 자세한 소개(코드 예제)를 제공합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

Fs 모듈

  1. fs.stat은 파일인지 디렉터리인지 감지합니다.

//目录
fs.stat('html', function(err, stats) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('文件:' + stats.isFile());
    console.log('目录:' + stats.isDirectory());
})
//文件
fs.stat('index.txt', function(err, stats) {
    if (err) {
        console.log(err);

        return false;
    }
    console.log('文件:' + stats.isFile());
    console.log('目录:' + stats.isDirectory());
})

2.fs.mkdir은 디렉터리를 생성합니다.

//接收参数:
//path          将创建的目录路径
//mode          目录权限(读写权限),默认0777
//callback      回调,传递异常参数err
fs.mkdir('css', function(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', '你好nodejs 覆盖', 'utf8', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('写入成功');
})

4. fs.appendFile 파일 추가

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

5.fs.readFile 파일 읽기

fs.readFile('t1.txt', function(err, data) {
    if (err) {
        console.log(err);
        return false;
    }
    //console.log(data);
    console.log(data.toString());
})

6.fs.readdir 디렉토리 읽기

fs.readdir('html', function(err, data) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log(data);
})

7.fs.rename 이름 바꾸기

// 1. 改名 2. 剪切文件
fs.rename('html/index.html', 'html/news.html', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('修改名字成功');
})

8.fs.rmdir 디렉토리 삭제

fs.rmdir('t', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('删除目录成功');
})

// ENOENT: no such file or directory, rmdir      rmdir 这个方法只能删除目录
fs.rmdir('index.txt', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('删除目录成功');
})

9.fs.unlink 파일 삭제

fs.unlink('index.txt', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log('删除文件成功');
})

10.fs.createReadStream 파일 스트림에서 데이터 읽기

const fs = require('fs')
    //流的方式读取文件
let readStream = fs.createReadStream('input.txt');
let str = ''; /*保存数据*/
let count = 0; /*次数*/
readStream.on('data', function(chunk) {
        str += chunk;
        count++;
    })
    //读取完成
readStream.on('end', function(chunk) {
        console.log(count);
        console.log(str);
    })
    //读取失败
readStream.on('error', function(err) {
    console.log(err);
})

11.fs.createWriteStream 파일 쓰기

let fs = require("fs");
let data = '我是从数据库获取的数据,我要保存起来11\n';
// 创建一个可以写入的流,写入到文件 output.txt 中
let writerStream = fs.createWriteStream('output.txt');
for (let i = 0; i < 100; i++) {
    writerStream.write(data, 'utf8');
}
//标记写入完成
writerStream.end();
writerStream.on('finish', function() {
        console.log('写入完成');
    })
    //失败
writerStream.on('error', function() {
    console.log('写入失败');
})

12 파이프 스트림.

위 내용은 NodeJs의 Fs 모듈에 대한 자세한 소개(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제