You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Node.js fs模块readFileSync读取text.txt文件时出现ENOENT错误的问题咨询

解决Node.js中readFileSync读取文件时的ENOENT错误

嘿,我之前也碰到过一模一样的问题,别慌,咱们一步步来排查解决:

  • 先搞懂Node.js找文件的规则
    当你用相对路径(比如"text.txt")调用readFileSync时,Node.js是从当前运行Node进程的工作目录去查找文件,而不是你的脚本文件所在的目录!你可以先在代码里加一行打印当前工作目录,看看是不是找错地方了:

    console.log(process.cwd()); // 输出当前Node进程的工作目录
    

    如果你的text.txt和脚本不在同一个工作目录下,最稳妥的办法是用path模块拼接绝对路径,这样不管你在哪里运行脚本都不会出错:

    const fs = require("fs");
    const path = require("path");
    // __dirname 代表当前脚本文件所在的目录
    const filePath = path.join(__dirname, "text.txt");
    try {
      const text = fs.readFileSync(filePath, "utf-8");
      console.log(text);
    } catch (err) {
      console.error("读取文件出错:", err);
    }
    
  • 仔细核对文件名的细节
    别小看大小写和后缀名!比如在Linux/macOS系统里,Text.txt和text.txt是完全不同的文件;另外有时候文件管理器会隐藏后缀名,你看到的text可能实际是text.txt.txt,可以去文件属性里确认真实的文件名。

  • 手动确认文件位置
    打开文件管理器,直接导航到你认为text.txt存在的文件夹,确认文件真的在那里——有时候可能误删、存错了文件夹,或者复制粘贴时出了问题。

  • 额外检查:权限问题(虽然这个错误更可能是找不到文件)
    如果以上都没问题,可以确认一下你有没有读取该文件的权限,尤其是在Linux/macOS系统下,可能需要用chmod命令调整文件权限。

内容的提问来源于stack exchange,提问作者DAKSH YADAV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 03:02:50