本节主要介绍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("文本创建成功");
});
追加文本
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 ? "删除失败" : "删除成功");
});
});