[Javascript] fs module로 파일 데이터 읽어오기

이썸이·2024년 5월 30일
0

| 공식 문서

파일 시스템과 상호작용 할 수 있게 도와주는 모듈
node와 함께 번들링되어 있기 때문에 별도 설치 없이 사용 가능

const fs = require("fs")
  • 비슷한 예로 http, url, path 등이 있음

알고리즘에서 어떻게 사용할것인가?
파일의 내용을 읽을 수 있다

// 비동기적
fs.readFile(filename, [options], callback)
  • filename에 해당하는 파일을 [option]의 방식으로 읽은 후 callback으로 받은 함수를 호출한다
// 동기적
fs.readFileSync(filename, [options])
  • filename에 해당하는 파일을 [option]의 방식으로 읽은 후 문자열을 반환한다

이 외에도 알고리즘에서 활용할 수 있을 진 모르겠으나.. 파일을 쓸 수 있는 기능도 있다

// 비동기적
fs.writeFile(filenmae, data, [options], callback)
  • filename에 해당하는 파일에 [option]의 방식으로 data 내용을 쓴 후 callback함수를 호출한다
// 동기적
fs.writeFileSync(filename, data, [options])
  • filename에 해당하는 파일에 [option]의 방식으로 data 내용을 쓴다

사용 방법

| 백준 - 1000번문제

const fs = require("fs");
const readedData = fs.readFileSync(0, "utf-8");
const splitedData = readedData.split(" ");
const a = splitedData[0];
const b = splitedData[1];

console.log(a / 1 + b / 1);

readline하고는 뭐가 다르지?

프로그래머스에서는 데이터를 한 줄씩 입력받아서 처리하는 문제가 몇가지 있었는데 그 땐 readline을 사용했었다

| 해당 내용 포스팅

그럼 fs 모듈도 뭔가 데이터를 입력 받는 거고 readline도 데이터를 입력 받는 건데 뭐가 다른걸까?

위에서 기술한 것처럼 readline 모듈은 한 번에 한 줄씩 데이터를 읽기 위한 인터페이스를 제공해주는 모듈이고, fs는 파일에 접근해서 데이터를 읽어오는 모듈이라는 점이 다른 거 같다. 코테에서 각각 어떻게 활용할 지는 문제 조건에 따라 다를 듯 하다.

| 참고 블로그

0개의 댓글