fs模塊的常用api接口:
1.讀文件
-
fs.readFileSync(path[, options])(同步讀取文件)
參數(shù):
-
path<string>|<Buffer>|<URL>|<integer> 文件名或文件描述符。 - options <string>|<object> 相關(guān)配置參數(shù)
- encoding 編碼方式
- flag 文件打開的行為
返回值:<string>path對(duì)應(yīng)路徑文件的內(nèi)容
-
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)(異步讀取文件)
參數(shù):
-
path<string>|<Buffer>|<URL>|<integer> 文件名或文件描述符。 - options <string>|<object> 相關(guān)配置參數(shù)
- encoding 編碼方式
- flag 文件打開的行為
- callback <function>
- err 錯(cuò)誤信息
- data <string> 文件內(nèi)容
返回值:<string> 文件內(nèi)容或錯(cuò)誤信息
-
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])(同步寫入)
參數(shù):
-
file<string>|<Buffer>|<URL>|<integer> 文件名或文件描述符。 - data <string> 要寫入的內(nèi)容
- options <object>相關(guān)配置參數(shù)
- encoding 編碼方式
- flag 文件打開的行為
- mode <integer> 默認(rèn)值0666、
返回:<undefined>
-
fs.writeFileSync(
'./data/hello.txt',
"\n我是個(gè)大帥哥?。n",
{ encoding: "utf-8", flag: "a" },
)
-
fs.writeFile(file, data[, options], callback)
參數(shù):
-
file<string>|<Buffer>|<URL>|<integer> 文件名或文件描述符。 - data <string> 要寫入的內(nèi)容
- options <object>相關(guān)配置參數(shù)
- encoding 編碼方式
- flag 文件打開的行為
- mode <integer> 默認(rèn)值0666
- callback <function> err
返回:<undefined>
-
fs.writeFile(
'./data/hello.txt',
"\n我是個(gè)大帥哥異步!!",
{ encoding: "utf-8", flag: "a" },
(err)=>{
console.log(err)
}
)
? promise風(fēng)格的readFile和writeFile
const fs = require("fs")
//讀文件的函數(shù)
readFs = (src)=>{
return new Promise((resolve,reject)=>{
fs.readFile(src,{flag:"r",encoding:"utf-8"},(err,data)=>{
if(err){
reject(err)
}else{
resolve(data)
}
})
})
}
//寫文件的函數(shù)
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}
-
創(chuàng)建目錄
-
fs.mkdirSync(path[, options])(同步)
參數(shù):
-
path<string>|<Buffer>|<URL>| 目錄 必需 - options <object>相關(guān)配置參數(shù)
-
recursive<boolean> 默認(rèn)值:false。 - mode <string>|<integer> 在 Windows 上不支持。默認(rèn)值:
0o777。
-
返回:<underfined>
-
fs.mkdirSync('./data/LDdir/')-
fs.mkdir(path[, options], callback)(異步)
參數(shù):
-
path<string>|<Buffer>|<URL>| 目錄 必需 - options <object>相關(guān)配置參數(shù)
-
recursive<boolean> 默認(rèn)值:false。 - mode <string>|<integer> 在 Windows 上不支持。默認(rèn)值:
0o777。
-
- callback <function> err 必需
返回:<underfined>
-
-
fs.mkdir('./data/LDdir/',(err)=>{
console.error(err)
})
-
讀取目錄
-
fs.readdirSync(path[, options])
參數(shù):
-
path<string>|<Buffer>|<URL>| 目錄 必需 - options <object>相關(guān)配置參數(shù)
- encoding <string> 默認(rèn)值:"utg-8"
- withFileTypes <boolean> 默認(rèn)值:
false
返回: <array>字符串?dāng)?shù)組
-
-
let res = fs.readdirSync('./data',{encoding:"utf-8",withFileTypes:false})
console.log(res)
-
fs.readdir(path[, options], callback)
參數(shù):
path<string>|<Buffer>|<URL>| 目錄 必需- options <object>相關(guān)配置參數(shù)
- encoding <string> 默認(rèn)值:"utg-8"
- withFileTypes <boolean> 默認(rèn)值:
false- callback <function>
- err <Error>err
- files <Array>字符串?dāng)?shù)組
fs.readdir('./data',(err,files) => {
if(!err){
console.log(files)
}else{
console.log(err)
}
})