如何将文件写入NodeJS中的特定目录?

Dan*_*mad 11 javascript fs node.js

我正在将一些文本写入我们 fs 模块的文件中。

fs.writeFile('result.txt', 'This is my text', function (err) {
                        if (err) throw err;
                        console.log('Results Received');
                        }); 
Run Code Online (Sandbox Code Playgroud)

现在这工作正常。我想将此文件写入项目中的 niktoResults 文件夹,但是当我这样做时

fs.writeFile('/niktoResults/result.txt', 'This is my text', function (err) {
                            if (err) throw err;
                            console.log('Results Received');
                            }); 
Run Code Online (Sandbox Code Playgroud)

它导致错误。我不知道如何定义可以帮助我克服这个问题的目录路径。

Error:
Error: ENOENT: no such file or directory, open '/niktoResults/[object Object].txt'
Run Code Online (Sandbox Code Playgroud)

Luc*_*fer 12

您必须了解您可以提供绝对路径或相对路径。目前你可以做的是

fs.writeFile('./niktoResults/result.txt', 'This is my text', function (err) {
  if (err) throw err;               console.log('Results Received');
}); 
Run Code Online (Sandbox Code Playgroud)

这里 。指的是当前目录。因此 ./niktoResults 指的是当前目录中的 niktoResults 文件夹。


Sam*_*ike 7

此代码将“This is an example text”写入 niktoResults 文件夹中的 result.txt 中:

const fs = require('fs');
const path = require('path');

fs.writeFileSync(path.join(__dirname,"niktoResults","result.txt"), "This is an example text","UTF8")
Run Code Online (Sandbox Code Playgroud)


小智 6

做这个

const fs = require('fs');
const path = require('path');

let baseDir = path.join(__dirname, '/./niktoResults/');
fs.open(`${baseDir}+result.txt`, 'wx', (err, desc) => {
  if(!err && desc) {
     fs.writeFile(desc, 'sample data', (err) => {
       // Rest of your code
       if (err) throw err;               
       console.log('Results Received');
     })
  }
})
Run Code Online (Sandbox Code Playgroud)