一.文件读取分为同步的读和异步的读
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('文件删除成功');
})