fs模块 说明
- 在Node.js中,使用fs模块来实现所有有关文件及目录的创建、写入及删除操作。
- 在fs模块中,所有的方法都分为同步和异步两种实现。
- 具有sync后缀的方法为同步方法,不具有sync后缀的方法为异步方法。
- 异步方法一般最后一个参数都为callback;同步则直接返回。
Node 遵循错误优先回调
- 回调函数的第一个参数,必须是错误对象error 如果有错误发生,错误将通过第一个参数error返回;
- 第二个参数作为成功响应的数据,如果没有异常,error会被设为null
常用API
创建
fs.writeFile
fs.writeFile('./index.txt', '只要心中花千树,', err => {
if (err)
console.log(err)
})
fs.writeFileSync('./index2.txt', '执子之手,')
fs.appendFile
fs.appendFile('./index.txt', '人生何处不逢春', err => {
if (err)
console.log(err)
})
fs.appendFileSync('./index2.txt', '与子偕老')
fs.mkdir
fs.mkdir('./dir', err => {
if (err)
console.log(err)
})
fs.mkdirSync('./dir2')
删
fs.rm
fs.rm('./test.txt', err => {
if (err)
console.log(err)
})
fs.rmSync('./test.txt')
fs.rmdir
fs.rmdir('./test', err => {
if (err)
console.log(err)
})
fs.rmdirSync('./dir')
修改
fs.rename
fs.rename('../test.txt', './test123.txt', err => {
if (err)
console.log(err)
})
fs.renameSync('./test123.txt', './test.txt')
查找
fs.exists
fs.exists('./index.ts', (err) => {
if (err)
console.log(err)
})
console.log(fs.existsSync('./index.js'))
fs.readdir
fs.readdir('../', {withFileTypes: true}, (err, data) => {
if (err)
return console.log(err)
console.log(data)
})
console.log(fs.readdirSync('../'));
fs.readFile
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('../index.html', './index.html', (err) => {
if (err)
console.log(err)
})
fs.copyFileSync('../index.html', './index.html')
fs.stat
fs.stat('./', (err, stats) => {
if (err)
console.log(err)
console.log(stats.isDirectory())
})
console.log(fs.statSync('./').isDirectory());