node操作文件系统

同步文件写入

// 引入fs模块
const fs = require('fs');
// 同步打开文件(可写)
const fd = fs.openSync('./show.txt', 'w');
// 同步向该文件写入内容并保存
fs.writeSync(fd, 'hello world');
// 同步关闭文件
fs.closeSync(fd);

异步文件写入

// 引入fs模块
const fs = require('fs');
// 异步打开文件(可写)
fs.open('./show.txt', 'w', (error, fd) => {
	if (error) {
		console.log(error);
		return;
	}
	// 异步向该文件写入内容并保存
	fs.write(fd, 'hello world', (error) => {
		if (error) {
			console.log(error);
			return;
		}
		// 异步关闭文件
		console.log('写入成功');
		fs.close(fd, (error) => {
			if(error) {
				console.log(error);
				return;
			}
			console.log('文件已关闭');
		});
	});
});

简单文件写入(异步,省略了打开和关闭步骤)

const fs = require('fs');
fs.writeFile('./show.txt', 'hello world', {flag: 'a'}, (error) => {
	if (error) {
		console.log(error);
		return;
	}
	console.log('文件写入成功');
});

流式文件写入

const fs = require('fs');
// 创建一个可写流
const ws = fs.createWriteStream('./show.txt');
ws.once('open', () => {
	console.log('流已打开');
});
ws.once('close', () => {
	console.log('流已关闭');
});
ws.write('hello world');
ws.write('hello world');
ws.write('hello world');
ws.write('hello world');
ws.close();

简单文件读取

const fs = require('fs');
fs.readFile('./show.txt', (error, data) => {
	if (error) {
		console.log(error);
		return;
	}
	console.log(data.toString()); // data是一个buffer类型数据
});

流式文件读取(适用大文件)

const fs = require('fs');
const rs = fs.createReadStream('./show.txt');
rs.on('data', (data) => {
	console.log(data.toString());
});

流式文件读取并写入

const fs = require('fs');
const rs = fs.createReadStream('./test.txt');
const ws = fs.createWriteStream('./show.txt');
rs.pipe(ws);

检验文件是否存在

const fs = require('fs');
const isExist = fs.existsSync('./show.txt');
console.log(isExist); // boolean

删除文件

const fs = require('fs');
fs.unlinkSync('./show.txt');

获取文件信息

const fs = require('fs');
fs.stat('./show.txt', (error, stat) => {
	console.log(stat);
});

读取目录中的所有文件

const fs = require('fs');
fs.readdir('.', (error, files) => {
	console.log(files);
});

截断文件

const fs = require('fs');
fs.truncateSync('./show.txt', 5);

创建文件夹

const fs = require('fs');
fs.mkdirSync('hello');

删除文件夹

const fs = require('fs');
fs.rmdirSync('hello');

文件重命名(剪切)

const fs = require('fs');
fs.renameSync('./show.txt', '../show1.txt');

监听文件变化

const fs = require('fs');
fs.watchFile('./show.txt', (curr, prev) => {
	console.log(curr.size);
    console.log(prev.size);
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值