방법 설명:
fs.writeFile()의 동기화된 버전입니다.
문법:
fs.writeFileSync(파일 이름, 데이터, [옵션])
이 메소드는 fs 모듈에 속하므로 사용하기 전에 fs 모듈을 도입해야 합니다(var fs= require(“fs”) )
수신 매개변수:
파일명(문자열) 파일명
data (String | Buffer) 기록할 내용은 문자열 데이터일 수도 있고 버퍼 데이터일 수도 있습니다.
options(객체) 다음을 포함한 옵션 배열 객체:
· 인코딩(문자열) 선택적 값, 기본값은 'utf8', 데이터가 버퍼인 경우 값을 무시해야 합니다.
· 모드(숫자) 파일 읽기 및 쓰기 권한, 기본값은 438
·flag(문자열) 기본값 'w'
예:
fs.writeFileSync('message.txt', 'Hello Node');
소스코드:
fs.writeFileSync = 함수(경로, 데이터, 옵션) {
if (!options) {
옵션 = { 인코딩: 'utf8', 모드: 438 /*=0666*/, 플래그: 'w' };
} else if (util.isString(options)) {
옵션 = { 인코딩: 옵션, 모드: 438, 플래그: 'w' };
} else if (!util.isObject(options)) {
새로운 TypeError('잘못된 인수') 발생;
}
AssertEncoding(options.encoding);
var 플래그 = options.flag ||
var fd = fs.openSync(path, flag, options.mode);
if (!util.isBuffer(data)) {
데이터 = 새 버퍼('' 데이터, options.encoding || 'utf8');
}
var 쓰여짐 = 0;
var 길이 = 데이터.길이;
var 위치 = /a/.test(flag) ? null : 0;
시도해보세요 {
while (작성된 < 길이) {
기록 = fs.writeSync(fd, 데이터, 기록, 길이 - 기록, 위치);
위치=작성;
}
} 드디어 {
fs.closeSync(fd);
}
};