文件操作
在 nodejs 中,提供了 fs 模块,来供我们操作文件。在 nodejs 中,操作文件都提供了同步和异步的方式,但是在实际的开发中,我们更多的还是使用异步来进行开发。
先引入fs模块 const fs = require('fs');
1.文件的写入 fs.writeFile()
示例:
const fs = require('fs');
console.log('start');
fs.writeFile('./test.txt','this is a test',function(err){
if(err) throw err;
console.log('is writing!');
})
console.log('end');
2.文件的追加
正常的写入,是一个覆盖的效果,如果想要追加内容,可以使用fs.appendFile()
示例:
const fs = require('fs');
console.log('start');
fs.appendFile('./test.txt','this is a test',function(err){
if(err) throw err;
console.log('is writing!');
})
console.log('end');
3.文件的读取 fs.readFile()
示例:
const fs = require('fs');
console.log('start');
fs.readFile('./test.txt',function(err,data){
if(err) throw err;
console.log(data.toString());
})
console.log('end');
4.文件的复制 fs.copyFile()
示例:
const fs = require('fs');
fs.copyFile('./test.txt','./test5.txt',(err)=>{
if(err) throw err
})
5.获取文件信息
通过 fs 模块的 stat 方法可以拿到一个文件的具体信息。
示例:
const fs = require('fs');
fs.stat('./test.txt',(err, status)=>{
if(err) throw err;
console.log(status);
});
// Stats {
// dev: 16777222,
// mode: 33188,
// nlink: 1,
// uid: 501,
// gid: 20,
// rdev: 0,
// blksize: 4096,
// ino: 12908241066,
// size: 17,
// blocks: 8,
// atimeMs: 1600244238410.9111,
// mtimeMs: 1600242358742.662,
// ctimeMs: 1600244237825.9692,
// birthtimeMs: 1600237795491.121,
// atime: 2020-09-16T08:17:18.411Z,
// mtime: 2020-09-16T07:45:58.743Z,
// ctime: 2020-09-16T08:17:17.826Z,
// birthtime: 2020-09-16T06:29:55.491Z }
6.删除文件 fs.unlink()
示例:
const fs = require('fs');
fs.unlink('./test.txt',(err)=>{
if(err) throw err;
console.log('delete OK!');
})
目录操作
1.创建目录
示例:
const fs = require('fs');
fs.mkdir('./yaoyao',(err)=>{
if(err) throw err;
console.log('created!');
})
2.读取目录 fs.readdir()
示例:
const fs = require('fs');
fs.readdir('./',(err,files)=>{
if(err) throw err;
console.log(files);
})
// [ '.DS_Store',
// 'index.js',
// 'node_modules',
// 'package-lock.json',
// 'package.json',
// 'test2.txt',
// 'test3.txt',
// 'test5.txt',
// 'yaoyao' ]