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