我想在 npm 中创建一个文件,但如果文件已经存在则不想附加该文件
I want to create a file in npm but do not want append the file if it already exists
这是我正在使用的代码:
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);
}
文件存在则覆盖。
有人可以帮我解决这个问题吗?
改变这个:
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)
联机帮助页了解所有标志说明:
这是我正在使用的代码:
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);
}
文件存在则覆盖。 有人可以帮我解决这个问题吗?
改变这个:
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)
联机帮助页了解所有标志说明: