방법 설명:
비동기적으로 파일에 데이터를 씁니다. 파일이 이미 존재하는 경우 원본 콘텐츠가 대체됩니다.
문법:
fs.writeFile(파일 이름, 데이터, [옵션], [콜백(err)])
이 메소드는 fs 모듈에 속하므로 사용하기 전에 fs 모듈을 도입해야 합니다(var fs= require(“fs”) )
수신 매개변수:
파일명(문자열) 파일명
data (String | Buffer) 기록할 내용은 문자열 데이터일 수도 있고 버퍼 데이터일 수도 있습니다.
options(객체) 다음을 포함한 옵션 배열 객체:
· 인코딩(문자열) 선택적 값, 기본값은 'utf8', 데이터가 버퍼인 경우 값을 무시해야 합니다.
· 모드(숫자) 파일 읽기 및 쓰기 권한, 기본값은 438
·flag(문자열) 기본값 'w'
콜백 {Function} 콜백, 예외 매개변수 오류 전달.
예:
fs.writeFile('message.txt', 'Hello Node', 함수(err) {
if (err) throw err;
console.log('저장되었습니다!');
});
소스코드:
fs.writeFile = 함수(경로, 데이터, 옵션, 콜백) {
var callback = mightCallback(arguments[arguments.length - 1]);
if (util.isFunction(options) || !options) {
옵션 = { 인코딩: 'utf8', 모드: 438 /*=0666*/, 플래그: 'w' };
} else if (util.isString(options)) {
옵션 = { 인코딩: 옵션, 모드: 438, 플래그: 'w' };
} else if (!util.isObject(options)) {
새로운 TypeError('잘못된 인수') 발생;
}
AssertEncoding(options.encoding);
var 플래그 = options.flag ||
fs.open(path, options.flag || 'w', options.mode, function(openErr, fd) {
If (openErr) {
If (콜백) callback(openErr);
} 그 밖의 {
var buffer = util.isBuffer(data) ? 데이터 : new Buffer('' 데이터,
options.encoding || 'utf8');
var 위치 = /a/.test(flag) ? null : 0;
writeAll(fd, buffer, 0, buffer.length, position, callback);
}
});
};