fs 문서를보고 fs.appendFile과 함께 사용할 수있는 플래그를 찾고 있는데 경로가 오류 인 경우 오류가 발생합니다 은 아니요이 있습니다. .fs.appendFile하지만 경로가 * 존재하지 않으면 * 실패 *
내가 경로가 이미 존재하는 경우 오류를 제기 관련된 플래그를보고 있어요,하지만 난 경로 않는 경우 오류를 발생합니다 플래그를보고 있지 않다하는 것은가 존재 -
https://nodejs.org/api/fs.html
fs 문서를보고 fs.appendFile과 함께 사용할 수있는 플래그를 찾고 있는데 경로가 오류 인 경우 오류가 발생합니다 은 아니요이 있습니다. .fs.appendFile하지만 경로가 * 존재하지 않으면 * 실패 *
내가 경로가 이미 존재하는 경우 오류를 제기 관련된 플래그를보고 있어요,하지만 난 경로 않는 경우 오류를 발생합니다 플래그를보고 있지 않다하는 것은가 존재 -
https://nodejs.org/api/fs.html
우선을 , 당신이 을 의미한다고 가정합니다. fs.append()
을 참조하면 fs
모듈에 없습니다.
파일이없는 경우 오류를 반환하는 첨부 용 파일을 여는 플래그가없는 것 같습니다. 너 혼자 쓸 수있어. 당신은, 물론, 단지 파일이 fs.appendFile()
를 호출하기 전에 존재하는지 테스트 할 수
fs.appendToFileIfExist = function(file, data, encoding, callback) {
// check for optional encoding argument
if (typeof encoding === "function") {
callback = encoding;
encoding = 'utf8';
}
// r+ opens file for reading and writing. Error occurs if the file does
fs.open(file, 'r+', function(err, fd) {
if (err) return callback(err);
function done(err) {
fs.close(fd, function(close_err) {
fd = null;
if (!err && close_err) {
// if no error passed in and there was a close error, return that
return callback(close_err);
} else {
// otherwise return error passed in
callback(err);
}
});
}
// file is open here, call done(err) when we're done to clean up open file
// get length of file so we know how to append
fs.fstat(fd, function(err, stats) {
if (err) return done(err);
// write data to the end of the file
fs.write(fd, data, stats.size, encoding, function(err) {
done(err);
});
});
});
}
하지만 때문에 경쟁 조건의 권장하지 않습니다 : 다음은이 작업을 수행하는 방법에 대한 일반적인 생각이다. 대신, 올바른 플래그를 fs.open()
에 설정하고 파일이 존재하지 않으면 해당 트리거가 오류를 일으키는 것이 좋습니다.
감사합니다. fs.appendFile을 의미했습니다. 원래 질문을 편집했습니다. –