파일 읽기
readFile
- 모든 데이터를 한번에 Buffer에 담아서 읽는 방식
- 할당 받을 메모리 공간 부족하면 에러
파일 읽기 1
fs.readFile(file,cb)
- 비동기적으로 파일 읽기
- 파일 전체를 읽은 다음
Buffer
에 담고, 콜백함수에서 결과 처리
import fs from 'fs';
fs.readFile('file/text.txt',(err:NodeJS.ErrnoException|null,data:Buffer)=>{
if(err){
throw err;
}
console.log(`File Size : ${data.length} bytes`)
console.log(data.toString())
})
파일 읽기 2
fs.readFileSync
- 동기적으로 파일읽기
- 파일을 동기적으로 읽고 Buffer를 리턴
import fs from 'fs';
try{
let data:Buffer = fs.readFileSync("file/text.txt");
console.log(`File Size : ${data.length} Bytes`)
console.log(data.toString())
}catch(err){
console.error(err)
}
파일 읽기 3
import fs from 'fs/promises'
fs.readFile("files/text.txt")
.then((data) => {
console.log(`Length : ${data.length}`);
console.log(data.toString("utf-8"));
})
.catch((err) => {
console.error(err);
});
파일 쓰기
writeFile
: 파일 쓰기
appendFile
: 파일 쓰기 or 이미 존재하는 파일인 경우 뒤에 추가
파일 쓰기1
import fs from "fs";
fs.writeFile("files/writeFile.txt", "New York London Paris", (err) => {
if (err) {
console.error(err);
} else {
console.log("Completed!");
}
});
파일 쓰기2
- 동기적으로 파일 쓰기
fs.writeFileSync(file, data, options)
import fs from "fs";
try {
fs.writeFileSync("files/writeFileSync.txt", "write file sync");
console.log("Completed");
} catch (err) {
console.error(err);
}
파일 쓰기3
import fs from "fs/promises";
fs.writeFile("files/writeFilePromise.txt", "Write file promise")
.then(() => {
console.log("Completed!");
})
.catch((err) => {
console.error(err);
});
References