NodeJS读取文件并成功写入文件,但稍后读取文件不存在

时间:2018-08-21 18:13:52

标签: javascript node.js yeoman yeoman-generator

在Yeoman生成器中,我有以下有趣的场景,但我不得不依靠常规的NodeJS文件系统操作。

就我而言,我需要首先读写文件系统上已经存在的文件。我同步读取文件,然后同步写入文件。

function myFunction1(){

    let content = fs.readFileSync('filename.txt', 'utf-8')
    // change content in here
    let newContent = content+"Hello World";
    fs.writeFileSync('filename.txt', newContent);
}

在以后的步骤中,我需要再次读取同一文件。

function myFunction2(){

    let content = fs.readFileSync('filename.txt', 'utf-8')

}

现在的问题是,文件系统中不存在完全相同的文件,或者代码可以访问该文件。 如果我将对myFunction2的调用注释掉,该文件将被写入文件系统。

但是,我在再次读取更改过的文件时遇到了问题。问题是:

  1. 我有什么问题吗?
  2. 在这里我想念什么吗?
  3. 我的问题有一些解决方法吗?

可悲的是,由于存在不同的书写和阅读场景,我无法将它们重构为随时待命。

1 个答案:

答案 0 :(得分:1)

函数调用中似乎有一些错别字和/或缺少参数。

尝试一下:

function myFunction1(){

    let content = fs.readFileSync('filename.txt', 'utf-8');
    // create new file content to test writeFileSync logic
    let newContent = content + ' something else';
    fs.writeFileSync('filename.txt' , newContent );
}

function myFunction2(){
    let content = fs.readFileSync('filename.txt', 'utf-8');
}

希望这会有所帮助