当前位置:首页 > 编程笔记 > 正文
已解决

node_fs模块常用API

来自网友在路上 144844提问 提问时间:2023-09-20 09:48:32阅读次数: 44

最佳答案 问答题库448位专家为你答疑解惑

fs模块 说明

  • 在Node.js中,使用fs模块来实现所有有关文件及目录的创建、写入及删除操作。
  • 在fs模块中,所有的方法都分为同步和异步两种实现。
  • 具有sync后缀的方法为同步方法,不具有sync后缀的方法为异步方法。
  • 异步方法一般最后一个参数都为callback;同步则直接返回。

Node 遵循错误优先回调

  • 回调函数的第一个参数,必须是错误对象error 如果有错误发生,错误将通过第一个参数error返回;
  • 第二个参数作为成功响应的数据,如果没有异常,error会被设为null

常用API

创建

fs.writeFile

// 异步 / 同步
// fs.writeFile
// 若存在该文件,则会覆盖原有数据,若该文件不存在,则会创建该文件,但不能创建文件夹
fs.writeFile('./index.txt', '只要心中花千树,', err => {if (err)console.log(err)
})
fs.writeFileSync('./index2.txt', '执子之手,')

fs.appendFile

// fs.appendFile
// 若该文件不存在,则会创建该文件写入内容,若存在,则在尾部追加内容
fs.appendFile('./index.txt', '人生何处不逢春', err => {if (err)console.log(err)
})
fs.appendFileSync('./index2.txt', '与子偕老')

fs.mkdir


// fs.mkdir
// 创建文件夹,若文件不存在就创建该文件,若存在就报错
fs.mkdir('./dir', err => {if (err)console.log(err)
})
fs.mkdirSync('./dir2')

fs.rm

// fs.rm
// 存在这样的文件,删除成功,若不存在则会报错
fs.rm('./test.txt', err => {if (err)console.log(err)
})
fs.rmSync('./test.txt')

fs.rmdir


// fs.rmdir
// 存在这样的文件jia,删除成功,若不存在则会报错
fs.rmdir('./test', err => {if (err)console.log(err)
})
fs.rmdirSync('./dir')

修改

fs.rename


// fs.rename
// 修改文件名,可以当做移动文件使用
fs.rename('../test.txt', './test123.txt', err => {if (err)console.log(err)
})
fs.renameSync('./test123.txt', './test.txt')

查找

fs.exists


// fs.exists
// 判断指定路径文件或目录是否存在,返回值为Boolean
fs.exists('./index.ts', (err) => {if (err)console.log(err)
})
console.log(fs.existsSync('./index.js'))

fs.readdir


// fs.readdir
// 获取指定路径下的所有文件/文件夹名
// withFileTypes可判断类型 { name: '.idea', path: '../', [Symbol(type)]: 2 }
fs.readdir('../', {withFileTypes: true}, (err, data) => {if (err)return console.log(err)console.log(data)
})
console.log(fs.readdirSync('../'));

fs.readFile


// fs.readFile
// 读取文件,第二个参数设置编码格式,默认为二进制流buffer
fs.readFile('./index.js', 'utf-8', (err, data) => {if (err)console.log(err)console.log(data)
})
console.log(fs.readFileSync('./index.js', 'utf-8'));

其他

fs.copyFile


// fs.copyFile
// 如果目标文件已经存在,则会覆盖目标文件
// 异步
fs.copyFile('../index.html', './index.html', (err) => {if (err)console.log(err)
})
// 同步
fs.copyFileSync('../index.html', './index.html')

fs.stat


// fs.stat
fs.stat('./', (err, stats) => {if (err)console.log(err)console.log(stats.isDirectory())
})
console.log(fs.statSync('./').isDirectory());
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"node_fs模块常用API":http://eshow365.cn/6-9925-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!