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

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

WBOY
WBOY원래의
2016-05-16 16:26:111266검색

방법 설명:

지정된 파일 설명자 fd를 기반으로 파일 데이터를 읽고 버퍼가 가리키는 버퍼 개체를 씁니다. readFile보다 낮은 수준의 인터페이스를 제공합니다.

파일을 읽을 때 이 방법을 사용하는 것은 일반적으로 권장되지 않습니다. 버퍼와 파일 포인터를 수동으로 관리해야 하기 때문입니다. 특히 파일 크기를 모르는 경우 이는 매우 번거로운 일이 됩니다.

문법:

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

fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)])

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

수신 매개변수:

fs 파일 설명자

buffer 데이터가 기록될 버퍼입니다.

offset 버퍼에 기록된 오프셋

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

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

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

· 오류 예외

· bytesRead: 읽은 바이트 수

·버퍼: 버퍼 객체

예:

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

var fs = require('fs');
fs.open('123.txt' , 'r' , 함수 (err,fd){
if(err){
console.error(err)
반품
}

var buf = 새로운 버퍼(8)
fs.read(fd, buf, 0, 8, null, function(err,bytesRead, buffer){
if(err){
console.log(err)
반품
}
console.log('bytesRead' bytesRead)
console.log(버퍼)
})
})

소스코드:

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

fs.read = 함수(fd, 버퍼, 오프셋, 길이, 위치, 콜백) {
if (!util.isBuffer(버퍼)) {
// 레거시 문자열 인터페이스(fd, 길이, 위치, 인코딩, 콜백)
var cb = 인수[4],
인코딩 = 인수[3];
주장인코딩(인코딩);
위치 = 인수[2];
길이 = 인수[1];
버퍼 = 새 버퍼(길이);
오프셋 = 0;
​ 콜백 = function(err, bytesRead) {
(!cb) 반환인 경우;
var str = (bytesRead > 0) ? buffer.toString(encoding, 0, bytesRead) : '';
(cb)(err, str, bytesRead);
};
}
함수 래퍼(err, bytesRead) {
// 너무 빨리 GC되지 않도록 버퍼에 대한 참조를 유지합니다.
​ 콜백 && 콜백(err, bytesRead || 0, 버퍼);
}
바인딩.read(fd, 버퍼, 오프셋, 길이, 위치, 래퍼);
};
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.