繁体   English   中英

nodejs:无法读取文件内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM