const fs = require('fs');
所有的文件系统操作都有异步和同步两种形式。
异步形式的最后一个参数都是完成时回调函数。传给回调函数的参数取决于具体方法,但回调函数的第一个参数都会保留给异常。 如果操作成功完成,则第一个参数会是 null 或 undefined。
当使用同步操作时,任何异常都会被立即抛出,可以使用 try/catch 来处理异常,或让异常向上冒泡。
let fs=require('fs');//1.txt => Helloween
fs.readFile('1.txt',function(err,data){
if(err){
console.log(err);
}else{
console.log(data);//<Buffer 48 65 6c 6c 6f 77 65 65 6e>
console.log(data.toString());//Helloween
}
});
注:buffer 内容是十六进制信息的 ASCII 码,可以先转换成十进制再对照ASCII表;当然,直接使用toString()转换即可。
fs.writeFile('2.txt', 'xxxxx', function(err){
if(err){
console.log(err);
return;
}
});
注:文件对象存在则直接把内容写入;文件对象不存在则会自动创建再写入;且写入的内容会直接覆盖原有内容。
fs.appendFile('2.txt','\r\nhello world',function(err){
if(err){
console.log(err);
return;
}
});
fs.unlink('2.txt', function(err){
if(err){
console.log(err);
return;
}
});
fs.copyFile(src, dest[, flags], callback) 新增于: v8.5.0,记得查看node版本
fs.copyFile('1.txt','2.txt', function(err){
if(err){
console.log(err);
return;
}
})
fs.mkdir('./public', function(err){
if(err){
console.log(err);
return;
}
});
fs.rmdir('./public', function(err){
if(err){
console.log(err);
return;
}
});
fs.readdir('../test', function(err, data){
if(err){
console.log(err);
}else{
console.log(data);//[ '1.txt', 'fs.js', 'project', 'server.js' ]
}
});
fs.access('./abc', fs.constants.F_OK, function(err){
if(err){
console.log(err);
return;
}
console.log('存在')
});
var res = fs.existsSync('./abc');
console.log(res);//false
回调有两个参数 (err, stats) 其中 stats 是一个 fs.Stats 对象,可以用来检查对象是文件stats.isFile()还是文件夹stats.isDirectory(),查看它的大小、创建时间、修改时间 … …
fs.stat('./1.txt', function(err, stats){
//回调有两个参数 (err, stats) 其中 stats 是一个 fs.Stats 对象。
console.log(stats.isDirectory());//false
console.log(stats.isFile());//true
//查看文件的其他信息
console.log(stats);
// Stats {
// dev: 275776299,
// mode: 33206,
// nlink: 1,
// uid: 0,
// gid: 0,
// rdev: 0,
// blksize: undefined,
// ino: 8444249301415788,
// size: 9,
// blocks: undefined,
// atimeMs: 1526954051821.0154,
// mtimeMs: 1526954068932.9944,
// ctimeMs: 1526954068932.9944,
// birthtimeMs: 1526954051821.0154,
// atime: 2018-05-22T01:54:11.821Z,
// mtime: 2018-05-22T01:54:28.933Z,
// ctime: 2018-05-22T01:54:28.933Z,
// birthtime: 2018-05-22T01:54:11.821Z
// }
});
var stats = fs.statSync('1.txt');
console.log(stats.isDirectory());//false
console.log(stats.isFile());//true
console.log(stats);
// Stats {
// dev: 275776299,
// mode: 33206,
// nlink: 1,
// uid: 0,
// gid: 0,
// rdev: 0,
// blksize: undefined,
// ino: 8444249301415788,
// size: 9,
// blocks: undefined,
// atimeMs: 1526954051821.0154,
// mtimeMs: 1526954068932.9944,
// ctimeMs: 1526954068932.9944,
// birthtimeMs: 1526954051821.0154,
// atime: 2018-05-22T01:54:11.821Z,
// mtime: 2018-05-22T01:54:28.933Z,
// ctime: 2018-05-22T01:54:28.933Z,
// birthtime: 2018-05-22T01:54:11.821Z
// }
fs.rename('1.txt','1.txt-bak', function(err){
if(err){
console.log(err);
return;
}
})
本文地址:https://www.zhuimengzhu.com/content/article/335.html
转载地址:暂无
转载说明: 转载时请在文首注明来源zhuimengzhu.com 及教程作者,并附本文链接。谢谢各位编辑同仁配合。zhuimengzhu 保留追究相应责任的权利。
QQ登录
微信登录