@Wangww0925
2019-01-24T07:53:34.000000Z
字数 4900
阅读 349
NodeJs
mkdirSync() - 创建目录 (文件夹)mkdir(file, callback) - 创建目录 (文件夹)rmdirSync() - 删除目录 (文件夹)【文件夹一定要为空】rmdir(file, callback) - 删除目录 (文件夹)【文件夹一定要为空】readdirSync() - 读取目录 (文件夹)readdir(file, callback) - 读取目录 (文件夹)writeFileSync() - 写入文件writeFile(file, data, options, callback) - 写入文件appendFileSync() - 追加文件内容appendFile(file, data, options, callback) - 追加文件内容readFileSync() - 读取文件 【返回一个buffer类数组对象】readFile(file, options, callback) - 读取文件unlinkSync() - 删除文件unlink(file, callback) - 删除文件watchFile(file, callback) - 监听文件发生改变renameSync() - 修改文件或者文件夹名称,改动文件的路径位置、文件名等rename(file, newName, callback) - 修改文件或者文件夹名称,改动文件的路径位置、文件名等statSync() - 查看文件或者文件夹的状态stat(file, callback) - 查看文件或者文件夹的状态accessSync() -access() -chownSync() -chown() -chmodSync() -chmod() -closeSync() -close() -copyFileSync() -copyFile() -createReadStream() -createWriteStream() -existsSync() -exists() -fchownSync() -fchown() -fchmodSync() -fchmod() -fdatasync() -fdatasyncSync() -fstatSync() -fstat() -fsync() -fsyncSync() -ftruncateSync() -ftruncate() -futimesSync() -futimes() -lchownSync() -lchown() -lchmod undefinedlchmodSync undefinedlinkSync() -link() -lstatSync() -lstat() -mkdtempSync() -mkdtemp() -openSync() -open() -readSync() -read() -readlinkSync() -readlink() -realpathSync() -realpath() -symlinkSync() -symlink() -truncateSync() -truncate() -unwatchFile() -utimesSync() -utimes() -watch() -writeSync() -write() -Stats() -ReadStreamWriteStreamFileReadStreamFileWriteStream_toUnixTimestamp() -constants - object,
异步操作是非常难以控制的,可以采用promise对象进行解决
file - 文件mode - 一般省略callback - 回调err - error
const fs = require("fs");fs.mkdir("./test",function(err){if(!err){console.log("文件创建成功");}})

file - 文件callback - 回调err - error
const fs = require("fs");fs.rmdir("./test",function (err){if(err){console.log("删除失败");}else{console.log("文件删除成功");}})

file - 文件callback - 回调err - errorfiles - files是一个数组,内容为文件或者文件夹
PS: files是一个数组,内容为文件或者文件夹
const fs = require("fs");fs.readdir("./src",function (err,files){console.log(files);})

file - 文件data - 写入数据options - 一般省略encoding 默认为空,一般设置为utf8flag 标识符 默认为r r代表以读取模式打开文件callback - 回调err - error
PS:文件不存在自动创建;默认采用utf-8 编码
const fs = require("fs");fs.writeFile("./text.txt","我是测试文件",function (err){if(err){console.log("写入失败");}else{console.log("写入成功");}})

file - 文件data - 追加的内容options - 一般省略encoding 默认为空,一般设置为utf8flag 标识符 默认为r r代表以读取模式打开文件callback - 回调err - error
PS:文件不存在自动创建
const fs = require("fs");fs.appendFile("./test.txt","\n添加新的内容1111",function (err){if(err){console.log("添加失败");}else{console.log("添加成功");}})

file - 文件options - 一般省略encoding 默认为空,一般设置为utf8flag 标识符 默认为r r代表以读取模式打开文件callback - 回调err - errorfile - buffer类数组对象
创建一个文件 test.txt ,内容如下:
我是测试文件添加新的内容1111
创建 main.js 文件, 代码如下:
const fs = require("fs");fs.readFile("./test.txt", function (err, file){if(err){console.log(err)}else{console.log(file.toString())}})console.log("程序执行结束")

创建一个文件 test.txt ,内容如下:
我是测试文件添加新的内容1111
创建 main.js 文件, 代码如下:
const fs = require("fs");var file = fs.readFileSync("./test.txt")console.log(file.toString())console.log("程序执行结束")

file - 文件callback - 回调err - error
const fs = require("fs");fs.unlink("./04.txt",function(err){if(!err){console.log("删除成功");}})

file - 文件callback - 回调newStatus - 旧的数据oldStatus - 新的数据
一旦文件发生变动就会自动触发回调函数
可以采用这个监听文件的原理来完成自动重新运行服务器
安装插件supervisor 原理就是监听文件发生了变化,一旦文件发生了变化就会重新启动node程序
const fs = require("fs");fs.watchFile("./text.txt", function (newStatus,oldStatus){console.log("newStatus",newStatus);console.log("oldStatus",oldStatus);})
file - 文件newName - 新的名称callback - 回调err - error
const fs = require("fs");fs.rename("./text.txt","./demo.txt", function (err){if(err){console.log("修改失败")}else{console.log("修改成功")}})

file - 文件callback - 回调err - errorstats - object ,可以获取文件大小,创建时间等信息isDirectory() - 判断是否为文件夹,true是,false不是isFile() - 判断是否为文件,true是,false不是
PS: 可以获取文件大小,创建时间等信息
/** 判断是否为文件夹 .isDirectory()* 判断是否为文件 .isFile()*/const fs = require("fs");fs.stat("./demo.txt",function (err,stats){console.log(stats);console.log(stats.isDirectory()); // 返回trueconsole.log(stats.isFile()); // 返回false})
作者 wendy
2019 年 1月 21日