代码之家  ›  专栏  ›  技术社区  ›  DeadEli

节点从%appdata%读取文件

  •  5
  • DeadEli  · 技术社区  · 10 年前

    我正在运行节点,我想从%appdata%文件夹中读取一个文件,我不想硬编码该路径。

    这基本上是我目前所掌握的:

    //...require(some things)
    var fs = require('fs');
    
    var fileData;
    try{
        fileData = fs.readFileSync('%appdata%/folder/file.txt',{encoding:'utf8'});
    }
    catch(e){
        console.log(e);
        fileData = 42; //default value
    }
    
    //... app.get(some things)
    //... app.listen
    

    当我运行此程序时,我收到消息:

    {[错误:ENOENT,没有这样的文件或目录“C:\projectdirectory\%appdata%\folder\file.txt”]

    错误号:-4058,

    代码:'ENOENT',

    路径:'C:\projectdirectory\%appdata%\folder\file.txt',

    系统调用:“打开”}

    如何让它识别%appdata%变量?

    1 回复  |  直到 10 年前
        1
  •  16
  •   mscdex    10 年前

    你必须从 process.env 而是:

    fileData = fs.readFileSync(process.env.APPDATA + '/folder/file.txt',{encoding:'utf8'});
    
    推荐文章