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

时间:2019-01-23 06:25:13

标签: javascript node.js fs

我正在使用fs模块将一些文本写入文件。

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

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

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

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

Error:
Error: ENOENT: no such file or directory, open '/niktoResults/[object Object].txt'

3 个答案:

答案 0 :(得分:2)

这样做

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');
     })
  }
})

答案 1 :(得分:0)

您必须了解可以给出绝对路径或相对路径。目前您可以做的是

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

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

答案 2 :(得分:0)

此代码在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")