fs模块的常用api接口:
1.读文件
-
fs.readFileSync(path[, options])(同步读取文件)
参数:
-
path
<string>|<Buffer>|<URL>|<integer> 文件名或文件描述符。 - options <string>|<object> 相关配置参数
- encoding 编码方式
- flag 文件打开的行为
返回值:<string>path对应路径文件的内容
-
const fs = require('fs')
//同步读取文件
let helloFs = fs.readFileSync('./data/hello.txt',{encoding:"utf-8",flag:"r"})
console.log(helloFs,typeof helloFs) //string
-
fs.readFile(path[, options], callback)(异步读取文件)
参数:
-
path
<string>|<Buffer>|<URL>|<integer> 文件名或文件描述符。 - options <string>|<object> 相关配置参数
- encoding 编码方式
- flag 文件打开的行为
- callback <function>
- err 错误信息
- data <string> 文件内容
返回值:<string> 文件内容或错误信息
-
fs.readFile(
'./data/hello.txt',
{ encoding: "utf-8", flag: "r" },
(err, data) => {
if (!err) {
console.log(data)
} else {
console.log(err)
}
}
)
- 写文件
-
fs.writeFileSync(file, data[, options])(同步写入)
参数:
-
file
<string>|<Buffer>|<URL>|<integer> 文件名或文件描述符。 - data <string> 要写入的内容
- options <object>相关配置参数
- encoding 编码方式
- flag 文件打开的行为
- mode <integer> 默认值0666、
返回:<undefined>
-
fs.writeFileSync(
'./data/hello.txt',
"\n我是个大帅哥!!\n",
{ encoding: "utf-8", flag: "a" },
)
-
fs.writeFile(file, data[, options], callback)
参数:
-
file
<string>|<Buffer>|<URL>|<integer> 文件名或文件描述符。 - data <string> 要写入的内容
- options <object>相关配置参数
- encoding 编码方式
- flag 文件打开的行为
- mode <integer> 默认值0666
- callback <function> err
返回:<undefined>
-
fs.writeFile(
'./data/hello.txt',
"\n我是个大帅哥异步!!",
{ encoding: "utf-8", flag: "a" },
(err)=>{
console.log(err)
}
)
promise风格的readFile和writeFile
const fs = require("fs")
//读文件的函数
readFs = (src)=>{
return new Promise((resolve,reject)=>{
fs.readFile(src,{flag:"r",encoding:"utf-8"},(err,data)=>{
if(err){
reject(err)
}else{
resolve(data)
}
})
})
}
//写文件的函数
writeFs = (src,content) => {
return new Promise((resolve,reject)=>{
fs.writeFile(src,content,{flag:"a",encoding:"utf-8"},(err)=>{
if(!err){
resolve(err)
}else{
reject(err)
}
})
})
}
module.exports = {readFs,writeFs}
-
创建目录
-
fs.mkdirSync(path[, options])(同步)
参数:
-
path
<string>|<Buffer>|<URL>| 目录 必需 - options <object>相关配置参数
-
recursive
<boolean> 默认值:false
。 - mode <string>|<integer> 在 Windows 上不支持。默认值:
0o777
。
-
返回:<underfined>
-
fs.mkdirSync('./data/LDdir/')
-
fs.mkdir(path[, options], callback)(异步)
参数:
-
path
<string>|<Buffer>|<URL>| 目录 必需 - options <object>相关配置参数
-
recursive
<boolean> 默认值:false
。 - mode <string>|<integer> 在 Windows 上不支持。默认值:
0o777
。
-
- callback <function> err 必需
返回:<underfined>
-
-
fs.mkdir('./data/LDdir/',(err)=>{
console.error(err)
})
-
读取目录
-
fs.readdirSync(path[, options])
参数:
-
path
<string>|<Buffer>|<URL>| 目录 必需 - options <object>相关配置参数
- encoding <string> 默认值:"utg-8"
- withFileTypes <boolean> 默认值:
false
返回: <array>字符串数组
-
-
let res = fs.readdirSync('./data',{encoding:"utf-8",withFileTypes:false})
console.log(res)
-
fs.readdir(path[, options], callback)
参数:
path
<string>|<Buffer>|<URL>| 目录 必需- options <object>相关配置参数
- encoding <string> 默认值:"utg-8"
- withFileTypes <boolean> 默认值:
false
- callback <function>
- err <Error>err
- files <Array>字符串数组
fs.readdir('./data',(err,files) => {
if(!err){
console.log(files)
}else{
console.log(err)
}
})