Node.js 강좌 자료] 파일 시스템 사용 예제
Node.js 강좌 자료] 파일 시스템 사용 예제
실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.
파일 시스템 사용 예제
- 비동기 방식과 동기 방식
var fs = require('fs');
fs.readFile('input.txt', function(err, data) { //비동기 방식
if (err) {
return console.error(err);
}
console.log('Asynchronous read : ' + data.toString());
});
var data = fs.readFileSync('input.txt'); // 동기 방식 console.log('Synchronous read : ' + data); console.log('Program Ended');
Asynchronous read : This is test content 1
This is test content 2
This si test content 3
Program Ended
Asynchronous read : This is test content 1 This is test content 2 This is test content 3
- 파일 열기
var fs = require('fs');
console.log('Going to open file!');
fs.open('input.txt', 'r+', function(err, fd) { if (err) {
return console.error(err);
}
console.log('File opened successfully!');
})
Going to open file!
File opened successfully!
- 파일 정보 가져오기
var fs = require('fs');
fs.stat('input.txt', function(err, stats) {
if (err) {
return console.error(err);
}
console.log(stats);
console.log("isFile ? " + stats.isFile()); console.log('isDirectory ? ' + stats.isDirectory());
});
Stats { |
size: 72, |
dev: 1291624364, |
blocks: undefined, |
mode: 33206, |
atime: 2017-10-14T05:21:39.721Z, |
nlink: 1, |
mtime: 2017-10-14T05:22:08.584Z, |
uid: 0, |
ctime: 2017-10-14T05:22:08.584Z, |
gid: 0, |
birthtime: 2017-10-14T05:21:39.721Z } |
rdev: 0, |
isFile ? true |
blksize: undefined, |
isDirectory ? false |
ino: 1688849860279306, |
|
- 파일 쓰기
var fs = require('fs');
fs.writeFile('output2.txt', 'Write File Test String', function(err) {
if (err) return console.error(err); console.log("Data Written successfully!");
fs.readFile('output2.txt', function(err, data) { if (err) return console.error(err);
console.log("Asynchronous read : " + data.toString());
});
});
Data Written successfully!
Asynchronous read : Write File Test String
- 파일 읽기
var fs = require('fs'); var buf = new Buffer(1024);
fs.open('input.txt', 'r+', function(err, fd) { if (err) return console.error(err); console.log('File opened successfully');
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) { if (err) console.error(err);
console.log(bytes + 'bytes read'); if (bytes > 0) {
console.log(buf.slice(0, bytes).toString());
}
});
});
File opened successfully
72bytes read
This is test content 1 This is test content 2 This is test content 3
- 파일 닫기
var fs = require('fs'); var buf = new Buffer(1024);
fs.open('input.txt', 'r+', function(err, fd) { if (err) return console.error(err); console.log('File opened successfully');
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) { if (err) console.error(err);
console.log(bytes + 'bytes read');
if (bytes > 0) {
console.log(buf.slice(0, bytes).toString());
}
fs.close(fd, function(err) { if (err) console.log(err);
console.log('File closed successfully!');
});
});
});
- 파일 비우기
var fs = require('fs'); var buf = new Buffer(1024);
fs.open('input.txt', 'r+', function(err, fd) { if (err) return console.error(err); console.log('File opened successfully'); fs.truncate(fd, 10, function(err) {
if (err) console.log(err); console.log('File truncated successfully');
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) {
//읽기 처리 코드 생략
});
});
});
- 파일 삭제
var fs = require('fs'); fs.unlink('input.txt', function(err) {
if (err) return console.error(err);
console.log('File deleted successfully');
});
- 디렉터리 생성
var fs = require('fs');
fs.mkdir('test', function(err) {
if (err) return console.error(err); console.log('Directory created successfully!');
});
- 디렉터리 내용 보기
var fs = require('fs');
fs.readdir("c:/windows", function(err, files) { if (err) return console.error(err); files.forEach(function(file) { console.log(file);
});
})
- 디렉터리 삭제
var fs = require('fs');
fs.rmdir('test', function(err) {
if (err) return console.error(err); console.log("Directory removed successfully!");
})
'자바' 카테고리의 다른 글
Node.js 강좌 자료] Blocking Code (0) | 2017.11.19 |
---|---|
Node.js 강좌 자료] Callback? (0) | 2017.11.19 |
Node.js 강좌 자료] File System (0) | 2017.11.19 |
Node.js 강좌 자료] crypto 모듈 (0) | 2017.11.19 |
Node.js 강좌 자료] until 모듈 (0) | 2017.11.19 |