primefaces读写文件。 如何在某个位置设置EOF?

我正在构build一个nodejs脚本。 脚本stream程如下:

  1. 用r +标志打开文件。
  2. 然后读取打开的文件内容(与fs.read)作为JSON。
  3. 运行用户callback以允许用户操纵json(文件仍然打开)
  4. 将新对象写入文件。
  5. closures文件

我的问题是,我不知道如何确定文件的新大小,而不closures它。

所以,例如,如果我们先执行这个代码:

ffs.lockAndManipulateJSON(__dirname + '/var/meta.json', function (json) { json.test = 'ABC'; json.foo = 'bar'; }); 

而在未来的某个时候:

 ffs.lockAndManipulateJSON(__dirname + '/var/meta.json', function (json) { delete json.foo; }); 

一个文件的内容如下:

 { "test": "ABC" } "foo": "bar" } 

但我希望它是:

 { "test": "ABC" } 

所以,我的问题是:如何在文件仍然打开时用nodejs设置新的文件大小?

fs.ftruncate应该做你正在寻找的东西。 编辑:*请注意,您需要打开文件“W +”为此工作。