>  기사  >  웹 프론트엔드  >  node.js_node.js에서 fs.write 메소드를 사용하기 위한 지침

node.js_node.js에서 fs.write 메소드를 사용하기 위한 지침

WBOY
WBOY원래의
2016-05-16 16:27:081625검색

방법 설명:

파일에 쓰기(파일 설명자에 따름) 함수는 fs.writeFile()과 유사하지만 이 메서드는 실제 응용 프로그램에서는 더 낮은 수준의 작업을 제공하는 것이 좋습니다. .

이 방법에는 두 가지 형태가 있습니다.

1. fs.write(fd, 버퍼, 오프셋, 길이[, 위치], [콜백(err, bytesWritten, 버퍼)])

이 쓰기 방법은 버퍼를 파일에 씁니다(파일 설명자 fd를 기반으로 파일 찾기).

2.fs.write(fd, 데이터[, 위치[, 인코딩]], [콜백(err, write, string)])

이 쓰기 방법은 파일에 데이터를 씁니다(파일 설명자 fd를 기반으로 파일 찾기). 데이터가 버퍼 인스턴스가 아닌 경우 값은 문자열로 캐스팅됩니다.

문법:

코드 복사 코드는 다음과 같습니다.

fs.write(fd, 버퍼, 오프셋, 길이[, 위치], [콜백(err, bytesWritten, 버퍼)])

fs.write(fd, 데이터[, 위치[, 인코딩]], [콜백(err, write, string)])

이 메소드는 fs 모듈에 속하므로 사용하기 전에 fs 모듈을 도입해야 합니다(var fs= require(“fs”) )

수신 매개변수:

fd 파일 설명자.

buffer 데이터가 기록될 버퍼입니다. 버퍼 크기를 8의 배수로 설정하는 것이 가장 효율적입니다.

offset 버퍼에 기록된 오프셋

길이(정수) 읽은 파일의 길이를 바이트 단위로 지정합니다.

position (정수) 파일 읽기 시작 위치를 지정합니다. 이 항목이 null인 경우 현재 파일 포인터 위치부터 데이터를 읽습니다.

콜백 콜백은 err, bytesRead, buffer의 세 가지 매개변수를 전달합니다

· 오류 예외

· bytesRead: 읽은 바이트 수

·버퍼: 버퍼 객체

두 번째 형태:

인코딩 문자 인코딩

콜백

· 오류 예외

· writing 파일에 쓸 문자 수를 지정합니다.

· 문자열 반환 버퍼

예:

코드 복사 코드는 다음과 같습니다.

//fs.write(fd, 버퍼, 오프셋, 길이[, 위치], [콜백(err, bytesWritten, 버퍼)])
//실행 결과: bytesWritten = 8, buffer =

var fs = require('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, function(err, bytesWritten, 버퍼){
if(err){
던지기 오류;
}
console.log(bytesWritten);
console.log(버퍼);

fs.close(fd,function(err){
if(err){
던지기 오류;
}
console.log('파일이 닫혔습니다');
})
})
})

//fs.write(fd, 데이터[, 위치[, 인코딩]], [콜백(err, write, string)])
//실행 결과: write = 21, string = <버퍼 31 32 33 31 32 33 31 32 33 20 68 65 6c 6c 6f 20 77 bf 72 6c 64>
var fs = require('fs');
fs.open('content.txt', 'a', function(err,fd){
if(err){
던지기 오류;
}
var data = '123123123 hello world';
fs.write(fd, 데이터, 0, 'utf-8', function(err, write, string){
if(err){
던지기 오류;
}
console.log(작성);
console.log(문자열);

fs.close(fd,function(err){
if(err){
던지기 오류;
}
console.log('파일이 닫혔습니다');
})
})
})

소스코드:

코드 복사 코드는 다음과 같습니다.

// 사용법:
// fs.write(fd, 버퍼, 오프셋, 길이[, 위치], 콜백);
//또는
// fs.write(fd, string[, position[, 인코딩]], 콜백);
fs.write = 함수(fd, 버퍼, 오프셋, 길이, 위치, 콜백) {
  if (util.isBuffer(buffer)) {
    // 전달된 위치가 없으면 null로 가정합니다
    if (util.isFunction(위치)) {
      콜백 = 위치;
      위치 = null;
    }
    콜백 = 어쩌면Callback(콜백);
    var 래퍼 = 함수(err, write) {
      // 너무 빨리 GC되지 않도록 버퍼에 대한 참조를 유지합니다.
      콜백(오류, 작성됨 || 0, 버퍼);
    };
    return 바인딩.writeBuffer(fd, 버퍼, 오프셋, 길이, 위치, 래퍼);
  }
  if (util.isString(buffer))
    버퍼 = '';
  if (!util.isFunction(위치)) {
    if (util.isFunction(offset)) {
      위치 = 오프셋;
      오프셋 = null;
    } 그 밖의 {
      위치 = 길이;
    }
    길이 = 'utf8';
  }
  콜백 = 어쩌면 콜백(위치);
  위치 = 함수(err, write) {
    // 외부인 경우 문자열에 대한 참조를 유지합니다
    콜백(오류, 작성됨 || 0, 버퍼);
  };
  return 바인딩.writeString(fd, 버퍼, 오프셋, 길이, 위치);
};
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.