1. fs模块
- 在Node.js中,使用fs模块来实现所有有关文件及目录的创建、写入及删除操作。
- 在fs模块中,所有的方法都分为同步和异步两种实现。
- 具有
sync后缀的方法为同步方法,不具有sync后缀的方法为异步方法。
2.部分前端常用方法
读取文件
readFile()
语法:fs.readFile(path[, options], callback)
-
options
- encoding
- flag flag 默认 = 'r'
示例
//对文件进行操作的模块
var fs=require("fs")
var path=__dirname
fs.readFile(path,(err,data)=>{
console.log(path)
})
readFileSync()
语法:fs.readFileSync(path[, options])
示例
//对文件进行操作的模块
var fs=require("fs")
var path=__dirname
let str=fs.readFileSync(path+"/index.js")
console.log(str); //buffer
})
readFileSync方法的第一个参数是文件路径,第二个参数可以是一个表示配置的对象,也可以是一个表示文本文件编码的字符串。默认的配置对象是{ encoding: null, flag: 'r' },即文件编码默认为null,读取模式默认为r(只读)。如果第二个参数不指定编码(encoding),readFileSync方法返回一个Buffer实例,否则返回的是一个字符串。
写入文件
writeFile()
语法:fs.writeFile(file, data[, options], callback)
-
options
- encoding
- flag flag 默认 = 'w'
- mode 读写权限,默认为0666
示例
- 创建并写入文件信息:如果文件不存在 就会创建
- 如果文件夹不存在 就会报错
let fs = require('fs');
//写入文件信息
fs.writeFile(__dirname+"/src/a.txt","hello",function(err){
console.log(err)
})
writeFileSync()
语法:fs.writeFileSync(file, data[, options])
它的第一个参数是文件路径,第二个参数是写入文件的字符串,第三个参数是文件编码,默认为utf8。
追加文件
语法:fs.appendFile(file, data[, options], callback)
示例
fs.appendFile('./1.txt',Date.now()+'\n',function(){
console.log('ok');
})
删除文件
语法:fs.unlink(path,callback)
示例
fs.unlink(__dirname+"/src/a.txt",(err)=>{
console.log(err)
})
移动/重命名文件或目录
语法:fs.rename(oldPath, newPath, callback);
oldPath, 原目录/文件的完整路径及名;
newPath, 新目录/文件的完整路径及名;
如果新路径与原路径相同,而只文件名不同,则是重命名 callback(err), 操作完成回调函数;err操作失败对象
移动文件有一个bug:新路径和旧路径必须是同一个根盘
拷贝文件
语法:fs.copy(oldPath, newPath, callback);
oldPath, 原文件的完整路径;
newPath, 新文件的完整路径;
callback(err), 操作完成回调函数;err操作失败对象
拷贝文件以后两个文件都会存在磁盘中