방법 설명 :
파일에 (파일 디스크립터에 따라)이 함수는 fs.writefile ()과 유사하지만이 메소드는보다 기본적인 작업을 제공합니다. 실제 응용 프로그램에서 여러 fs.writefile ()을 사용하는 것이 좋습니다.
이 방법은 두 가지 형태로 제공됩니다.
1. fs.Write (fd, 버퍼, 오프셋, 길이 [, 위치], [콜백 (err, byteswritten, buffer)])))
이 쓰는 방식은 파일에 버퍼를 씁니다 (파일 디스크립터 FD에 따라 파일 찾기).
2. fs.Write (fd, data [, position [, encoding]], [Callback (err, writ, string)])))
이러한 글로 작성 방법은 파일에 데이터를 씁니다 (파일 디스크립터 FD에 따라 파일 찾기). 데이터가 버퍼의 인스턴스 값이 아닌 경우 문자열로 캐스팅됩니다.
문법:
코드 사본은 다음과 같습니다.
fs.write (fd, 버퍼, 오프셋, 길이 [, 위치], [콜백 (err, byteswritten, buffer)])))
fs.write (fd, data [, position [, encoding]], [Callback (err, writing, string)]))))
이 방법은 FS 모듈에 속하므로 사용하기 전에 FS 모듈을 소개해야합니다 (var fs = require ( "fs")).
매개 변수 수신 :
FD 파일 설명 자.
버퍼, 데이터가 작성됩니다. 버퍼 크기 설정은 바람직하게는 8의 배수이며, 이는 더 효율적이다.
오프셋 오프셋 버퍼에 쓰기
길이 (정수) 파일 읽기 바이트의 길이를 지정합니다.
위치 (정수) 파일 읽기의 시작 위치를 지정합니다. 이 항목이 NULL 인 경우 현재 파일 포인터 위치에서 데이터를 읽습니다.
콜백은 ERR, BYTESREAD 및 버퍼의 세 매개 변수를 전달합니다
・ err exception
bytesread : 읽은 바이트 수입니다
・ 버퍼 : 버퍼 객체
두 번째 형태 :
인코딩 문자 인코딩
콜백
・ err exception
・ writed는 파일에 얼마나 많은 문자가 기록 될 것인지 지정합니다.
string 문자열 반환 버퍼
예:
코드 사본은 다음과 같습니다.
//fs.write(fd, 버퍼, 오프셋, 길이 [, 위치], [콜백 (err, byteswritten, buffer)])))
// 실행 결과 : byteswritten = 8, buffer = <버퍼 00 00 00 01 00 00 00 00>
var fs = 요구 ( 'fs');
fs.open ( 'content.txt', 'a', function (err, fd) {
if (err) {
오류를 던지십시오.
}
var data = '123123123 Hello World';
var buf = 새로운 버퍼 (8);
fs.write (fd, buf, 0, 8, 0, 함수 (err, byteswritten, buffer) {
if (err) {
오류를 던지십시오.
}
console.log (byteswritten);
Console.log (버퍼);
fs.close (fd, function (err) {
if (err) {
오류를 던지십시오.
}
Console.log ( '파일 폐쇄');
})
})
})
//fs.write(fd, data [, position [, encoding]], [Callback (err, writ, string)])))
// 실행 결과 : writt = 21, String = <버퍼 31 32 33 31 33 31 32 33 20 68 65 6C 6C 6F 20 77 BF 72 6C 64>
var fs = 요구 ( 'fs');
fs.open ( 'content.txt', 'a', function (err, fd) {
if (err) {
오류를 던지십시오.
}
var data = '123123123 Hello World';
fs.write (fd, data, 0, 'utf-8', function (err, writing, string) {
if (err) {
오류를 던지십시오.
}
Console.log (Writeten);
Console.log (문자열);
fs.close (fd, function (err) {
if (err) {
오류를 던지십시오.
}
Console.log ( '파일 폐쇄');
})
})
})
소스 코드 :
코드 사본은 다음과 같습니다.
// 용법:
// fs.Write (fd, 버퍼, 오프셋, 길이 [, 위치], 콜백);
// 또는
// fs.Write (fd, string [, 위치 [, 인코딩]], 콜백);
fs.write = function (fd, 버퍼, 오프셋, 길이, 위치, 콜백) {
if (util.isbuffer (buffer)) {
// 위치가 전달되지 않으면 NULL을 가정하십시오
if (util.isfunction (position)) {
콜백 = 위치;
위치 = null;
}
콜백 = Maybecallback (콜백);
var 래퍼 = function (err, writing) {
// 너무 빨리 GC를 할 수 없도록 버퍼에 대한 참조를 유지하십시오.
콜백 (err, writed || 0, 버퍼);
};
return binding.writeBuffer (FD, 버퍼, 오프셋, 길이, 위치, 래퍼);
}
if (util.isstring (버퍼))
버퍼 += '';
if (! util.isfunction (position)) {
if (util.isfunction (오프셋)) {
위치 = 오프셋;
오프셋 = null;
} 또 다른 {
위치 = 길이;
}
길이 = 'utf8';
}
콜백 = Maybecallback (위치);
위치 = function (err, writ) {
// 외부 인 경우 문자열에 대한 참조를 유지합니다
콜백 (err, writed || 0, 버퍼);
};
반환 바인딩 .Writestring (FD, 버퍼, 오프셋, 길이, 위치);
};