如何使用nodejs中的fs模块在同一目录中复制和写入文件



尝试从目录中复制文件,并使用fs模块在同一目录中写入新文件。它似乎不起作用——不确定是什么实现了错误——将提供任何帮助,一旦创建了新文件,我将在新的json文件中进行更改,这正是我试图实现的。

main.js

const fs = require("fs");
async function copyAndCreateNewFile (path, files) {

try {
let rawdata = fs.readFileSync(files[0]);
let parsedJson = JSON.parse(rawdata);
console.log("JSON DATA", parsedJson);
let data = JSON.stringify(parsedJson);
const newFile = fs.writeFileSync(`${path}/${"test.json"}`, data);
return newFile;
}
catch(err) {
console.log ('not able to write data in the file ')
}

}
copyAndCreateNewFile('dir/services', ['dir/services/fileToCopy.json'])

错误

not able to write data in the file  { Error: EACCES: permission denied, open '/test.json'

在Node中复制文件的一种更简单的方法:

const fs = require('fs');
fs.copyFile('source', 'destination', (err) => {
console.error(err);
});

请确保您对目标目录具有写入权限。
例如:

sudo chmod 777 <destination-dir>

最新更新