nw.js node-webkit系列(24)如何对本地文件读写

本节主要介绍nw内置API"文件系统fs"的使用。调用方法为require("fs");该API可以读取或写入本地磁盘文件或文件夹,实现对本地文件的控制权限。该控制权限仅限于用户电脑账户的普通账户权限,不具备管理员账户权限,意味着如果不通过授权,该方法实现的文件读写对具有管理员权限的文件或文件夹不起效用。

(一)require("fs")  Demo

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title>require("fs")的使用</title>
	</head>

	<body>
		<script>
			var fs = require("fs");
			var fileName = ""; //文件名称
			var dirName = ""; //文件夹名称
			//判断文件是否存在
			fileName = "demo.txt";
			fs.exists(fileName, function(exists) {
				console.log(exists ? "文件存在" : "文件不存在");
			});
			//创建文件夹
			dirName = "dir";
			fs.mkdir(dirName, function(err) {
				console.log("创建文件夹");
				fs.exists(dirName, function(exists) {
					console.log(exists ? "创建成功" : "创建失败");
				});
			});
			//创建文本
			fileName = "demo.txt";
			var content = "hello word";
			fs.writeFile(fileName, content, function(err) {
				console.log("文本创建成功");
			});
		</script>
	</body>

</html>

(二)require("fs")函数参考

exists(filename,function(exists) { }); 

判断文件是否存在

fileName = "demo.txt";
fs.exists(fileName, function(exists) {
	console.log(exists ? "文件存在" : "文件不存在");
});

mkdir(dirName, function(err) { };

判断文件夹是否存在

fs.mkdir(dirName, function(err) {
	console.log("创建文件夹");
	fs.exists(dirName, function(exists) {
		console.log(exists ? "创建成功" : "创建失败");
	});
});

writeFile(fileName, content, function(err) { };

创建文本

fileName = "demo.txt";
var content = "hello word";
fs.writeFile(fileName, content, function(err) {
	console.log("文本创建成功");
});


appendFile(fileName, content, function(err) { };

追加文本

fileName = "demo.txt";
var content = "hello word2";
fs.appendFile(fileName, content, function(err) {
	console.log("文本追加成功");
});

readFile(fileName, function(err, data) { };

读取文本

fileName = "demo.txt";
fs.readFile(fileName, function(err, data) {
	console.log("读取文本内容:" + data.toString());
});

readdir(dirName, function(err, files) { };

读取目录

dirName = "dir";
fs.readdir(dirName, function(err, files) {
	for(var i = 0; i < files.length; i++) {
		console.log("文件名称:" + files[i]);
	}
});

rename('demo.txt', fileName, function(err) { };

重命名

fileName = "demo2.txt";
fs.rename('demo.txt', fileName, function(err) {
	console.log('重命名成功');
});

stat(fileName, function(err, stat) { };

获取文件状态,包括大小,创建时间等

fileName = "demo2.txt";
fs.stat(fileName, function(err, stat) {
	console.log("文件状态:", stat);
});

unlink(fileName, function(err) { };

删除文件

fileName = "demo.txt";
fs.unlink(fileName, function(err) {
	fs.exists(fileName, function(exists) {
		console.log(exists ? "删除失败" : "删除成功");
	});
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值