fs module

旅人·2023년 4월 27일
0

fs 모듈을 활용한 파일 읽기, 작성, 디렉토리 생성, 파일 삭제

대부분의 기능들이 비동기


Code

const fs = require("fs");

// reading files
fs.readFile("./docs/text.txt", (err, data) => {
  if (err) {
    console.log(err);
  }
  console.log(data.toString());
});

console.log("last line");

// writing files
fs.writeFile("./docs/text.txt", "hello, world!", () => {
  console.log("file was written");
});

fs.writeFile("./docs/hello.txt", "hello, again!", () => {
  console.log("file was written");
});

// directories
if (!fs.existsSync("./assets")) {
  fs.mkdir("./assets", (err) => {
    if (err) {
      console.log(err);
    }
    console.log("folder created");
  });
} else {
  fs.rmdir("./assets", (err) => {
    if (err) {
      console.log(err);
    }
    console.log("folder deleted");
  });
}

// deleteing files
if (fs.existsSync("./docs/deleteMe.txt")) {
  fs.unlink("./docs/deleteMe.txt", (err) => {
    if (err) {
      console.log(err);
    }
    console.log("file deleted");
  });
}

입출력 스트림

const fs = require("fs");

const readStream = fs.createReadStream("./docs/hello.txt", {
  encoding: "utf8", // or use toString()
});

const writeStream = fs.createWriteStream("./docs/writeMe.txt");

readStream.on("data", (chunk) => {
  console.log("------NEW CHUNK-------");
  console.log(chunk);
  writeStream.write("\nNEW CHUNK\n");
  writeStream.write(chunk);
});

// piping (위와 같은 기능)
readStream.pipe(writeStream);

참고 : https://www.youtube.com/watch?v=OIBIXYLJjsI&list=PL4cUxeGkcC9jsz4LDYc6kv3ymONOKxwBU&index=2

profile
一期一会

0개의 댓글