[英]nodejs: Unable to read file contents
我正在尝试读取文件的内容。 文件存在检查通过,即使读取文件也如下所示:
var fs = require('fs')
fs.exists('c:\\abc.txt',function(exists){
console.log("exists");
fs.readFile('c:\\abc.txt', 'UTF-8', function (err,data) {
if (err) {
console.log("err"+err);
}
console.log("data:"+data);
});
});
产量
exists
errError: ENOENT: no such file or directory, open 'c:\abc.txt'
data:undefined
我该如何纠正。
您的代码没有检查fs.exists
的结果是该文件是否存在。 您只是继续在回调中读取文件。 您需要检查第一个参数以查看它是正确的(文件存在)还是错误的(不存在)。 当前,您的代码根本没有使用exists
参数。 (如果err
不为null
,它还应该退出readFile
回调或以其他方式跳过使用data
的位。)
但fs.exists
已弃用的年龄,并分别,有一个在检查是否想读它,因为它可以创建或删除的存在检查前后 ,但读前一个文件不存在点。 只要尝试读取文件,然后处理错误即可:
var fs = require('fs');
fs.readFile('c:\\abc.txt', 'UTF-8', function(err, data) {
if (err) {
console.log("err"+err);
return;
}
console.log("data:"+data);
});
如果您真的想在读取之前检查是否存在,则可以使用fs.existsSync
(不建议使用),这至少可以减少检查是否存在与读取文件之间的窗口,但实际上并没有多大意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.