본문 바로가기
학습 log (이론)/node.js

'노드의 기본' 알아보기 #파일편2

by abbear25 2016. 10. 21.

파일을 직접 열고 닫으면서 읽거나 쓰기

open(path, flags, [mode], [callback])

파일 열기

flag

r, 읽기(파일 없으면 예외발생)

w, 쓰기(파일 없으면 생성, 있으면 이전 내용 모두 삭제)

w+, 읽기, 쓰기(파일 없으면 생성, 있으면 이전 내용 모두 삭제)

a+, 읽기, 추가(파일 없으면 생성, 있으면 이전 내용에 새로운 내용 추가)

read(fd, buffer, offset, length, position, [callback])

지정한 부분의 파일 내용 읽기

write(fd, buffer, offset, length, position, [callback])

지정한 부분에 데이터 쓰기

close(fd, [callback])

파일 닫기


스트림 단위로 파일 읽고 쓰기

createReadStream(path, [option])

파일을 읽기 위한 스트림 객체 생성

createWriteStream(path, [option])

파일을 쓰기 위한 스트림 객체 생성

var fs = require('fs');
var infile = fs.createReadStream('./output.txt',{flags:'r'});
var outfile = fs.createWriteStream('./output2.txt',{flags:'w'});

infile.on('data', function(data){
	console.log('read data', data);
	outfile.write(data);
});

infile.on('end', function(){
	console.log('exit read');
	outfile.end(function(){
		console.log('exit write');
	});
});

*pipe()메소드 이용

두 스트림간에 알아서 읽고 쓰기를 진행

infile.pipe(outfile);

반응형