我想在npm中创建一个文件但是如果文件已经存在则不想附加该文件

时间:2017-03-02 11:24:25

标签: node.js npm fs

这是我正在使用的代码:

var fs = require('fs');

function write_StyleSheet(path)
{   
var wStream = fs.createWriteStream(path, {flags: 'w'});
var mstrstyleStrt0="<!DOCTYPE html>\n <html>\n<head>\n<meta charset=\"utf-8\">\n<title>Test Summary</title>\n"; 
wStream.write(mstrstyleStrt0);
}

如果文件存在,则覆盖该文件。 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

改变这个:

var wStream = fs.createWriteStream(path, {flags: 'w'});

到此:

var wStream = fs.createWriteStream(path, {flags: 'wx'});

如果文件存在则不想写任何内容。如果文件存在,“x”子指针强制函数失败,而不是覆盖它。

准备好处理流的error个事件:

wStream.on('error', err => console.log('Error:', err.message));

因为现在你会收到如下错误:

Error: EEXIST: file already exists, open 'aaa.txt'

另一方面,如果您想要附加到文件(如果存在),请更改此信息:

var wStream = fs.createWriteStream(path, {flags: 'w'});

到此:

var wStream = fs.createWriteStream(path, {flags: 'a'});

有关所有标记说明,请参阅open(2)联机帮助页: