node文件操作

0 篇文章 0 订阅

一.文件读取分为同步的读和异步的读

1.fs.readFileSync 同步读取

var fs = require('fs');

var data;
try{
    data = fs.readFileSync('./content.txt', 'utf8');
    console.log('content: ', data);
}catch(err) {
    console.log( '同步读取发生错误', err.toString());
}

2.fs.readFIle 异步读取

var fs = require('fs');

var data;
fs.readFile('./content.txt', 'utf8', (err, data)=>{
    if(err){
        return console.log('异步读取发生错误: '. error.toString());
    }
    console.log('content: ', data);
});
console.log('因为异步,所以我先');

3.fs.createReadStream 流读取, 适合读取大文件

var fs = require('fs');

var data;
var readStream = fs.createReadStream('./content.txt', 'utf8');
readStream
    .on('data', (chunk)=>{
    console.log('文件流读取的数据: ', chunk);
    })
    .on('error', (err)=>{
        console.log(err.toString());
    })
    .on('end', ()=>{
        console.log('没有数据了');
    })
    .on('close', ()=>{
        console.log('关闭读入流');
    });

文件的写也分为同步的和异步的写

1.fs.writeFileSync 同步的写入

var fs = require('fs');

var data;
try{
    data = fs.writeFileSync('./fileWrite.txt', 'hello JavaScript', 'utf8');
    console.log('同步写入成功');
}catch(err){
    throw err;
}

2.fs.writeFile 异步的写入

var fs = require('fs');

var data;

fs.writeFile('./fileWrite.txt', 'hello world', 'utf8', (error)=>{
    if(error) throw err;
    console.log('写入成功');
});

3.fs.createWriteStream 流写入

var fs = require('fs');

var data;
var writeStream = fs.createWriteStream('./fileWrite.txt', 'utf-8');

writeStream.write('hello world');
writeStream
    .on('close', () => {
       console.log('流关闭');
    });
writeStream.end(); // 会触发close事件

二.目录的创建和删除

1.异步创建目录

fs.mkdir('./hello', function(err){ // 异步方式,如果目录已存在会报错
    if(err) throw err;
    console.log('创建成功');
})

2.同步创建目录

fs.mkdirSync('./hello'); // 同步创建,如果目录已存在会报错
fs.rmdir('./hello', function(err){
    if(err) throw err; // 如果目录不存在会报错
    console.log('文件删除成功');
})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值