我的目录中有一个文本文件,需要检查它是否为空。我尝试了fs.readFile(“ users.txt”)。isEmpty()。我该如何处理?
也许使用此方法,这是一种简单的基于诺言的方法来检查文件是否为空,还可以选择检查文件是否仅包含空格。仅包含空格的文件也可能被视为空文件。
这种方法的缺点是,它会完全读取文件,如果文件很大,这可能不是最有效的方法。
const fs = require('fs')
function isFileEmpty(fileName, ignoreWhitespace=true) {
return new Promise((resolve, reject) => {
fs.readFile(fileName, (err, data) => {
if( err ) {
reject(err);
return;
}
resolve((!ignoreWhitespace && data.length == 0) || (ignoreWhitespace && !!String(data).match(/^\s*$/)))
});
})
}
isFileEmpty('users.txt')
.then( (isEmpty) => {
console.log( "empty:", isEmpty) // true or false
})
.catch( (err) => {
console.log("error reading the file");
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句