NodeJs - 모듈(FileSystem, Event, Network) File I/O var fs = require('fs'); fs.readFile('text.txt','utf-8', function(err,data) { if(err){ console.log('file read error'); return; } console.log(data); }); var data = fs.readFileSync('text.txt','utf-8'); console.log(data); var fs = require('fs'); var data = "Hello NodeJs"; fs.writeFile('x:\\test2.txt',data,'utf-8',function(error) { if(error){ console.log("error"); }else{ console.log("write success"); } }) try { fs.writeFileSync('z:\\test3.txt',data,'utf-8'); console.log('file write sync success'); }catch(error) { console.log("file write sync error."+error.message); } var fs = require('fs'); fs.readdir('.',function(err,files){ /* err 에러, files는 array*/ for(var i=0;i<files.length;i++) { console.log(files[i]); } }); var files = fs.readdirSync('.'); for(var i=0; i<files.length;i++) { console.log(files[i]); } 동기적 비동기적 Asyncrounous Thread(병렬처리), Event -> 메모리 사용 증가 파일 읽기 var fs = require('fs'); var line=0; var input = fs.createReadStream('./ls.txt'); input.on('data',function(chunk) { console.log(line++ +':'+chunk.toString()); }) input.on('end',function() { console.log('EOF'); }) input.ont('close',function() { console.log('file close'); }); 파일 쓰기 var fs = require('fs'); var output = fs.createWriteStream('out.txt'); for(var i=0;i<100;i++) { output.write(i+': jeongchul'+new Date().toString()+'\n'); } output.end('made by jeongchul :D'); output.on('finish',function(){ console.log('write completed.'); }); 이벤트 바인딩 events.EventEmitter 상속 객체 연결 on(‘eventname’, eventHandler) 연결갯수 제한 10개 제거 removeListener(‘eventname’ handler) var event = require('events'); var emitter = new event.EventEmitter(); emitter.on('custom',function(){ // custom부분 수정 console.log('custom event!'); }) /* function hi() { console.log("hello!"); } setTimeout(hi,3000); */ setTimeout(function() { emitter.emit('custom'); },3000); setInterval(function() { emitter.emit('custom'); },2000); var net = require('net'); var server = net.createServer(function (c) { console.log("client connected"); c.on('end',function() { console.log("client disconnected"); }); c.write('hello\n'); c.on('data',function(data){ console.log('client : '+data.toString()); }); //c.pipe(c); }); server.listen(8888,function() { console.log('server running on 8888...'); }) nice to meet you :D 전송 var net = require('net'); var client = net.connect({port:8888}, function() { console.log("connected to server!"); client.write('client start'); }); client.on('data',function(data){ console.log("server : "+data.toString()); client.end(); }); client.on('end',function(data){ console.log("disconnected from server."); }); server.js console client.js consoleFileSystem 모듈
파일 읽기
파일 쓰기
디렉터리 읽기
대용량 파일 streaming
Event 이벤트
Network 모듈
server.js
client.js
'Computer Language' 카테고리의 다른 글
Web-Crawler BeautifulSoup Python (0) | 2017.01.06 |
---|---|
NodeJs - 모듈(http) (0) | 2016.02.23 |
NodeJs (0) | 2016.02.23 |
Eclipse Webserver + HTML Project (0) | 2016.02.22 |
Eclipse Web 툴 및 webserver 설치하기 (0) | 2016.02.22 |