Node.js에서 파일 시스템을 조작하기 위한 기본 가이드

Node.js에서 파일 시스템을 조작하기 위한 기본 가이드

Node.js의 내장 기능 중 하나는 fs 모듈을 사용하여 운영 체제의 파일 시스템을 조작하는 것입니다. 이 Node.js 모듈에는 파일 및 디렉토리 작업에 유용한 많은 기능이 포함되어 있습니다.





파일은 일반적으로 디스크 또는 메모리라고 하는 하드 매체에 저장되는 지속형 개체 또는 데이터 청크라고 합니다. 파일은 텍스트 파일에서 이미지 파일, 오디오 파일 등에 이르기까지 다양한 유형이 될 수 있습니다.





MAKEUSEOF 오늘의 비디오

그렇다면 파일 시스템이란 무엇이며 Node.js에서 운영 체제의 파일 시스템과 어떻게 쉽게 상호 작용할 수 있습니까?





snes 클래식에서 nes 게임하기

파일 시스템이란 무엇입니까?

파일 시스템은 운영 체제가 다른 작업과 함께 파일을 식별, 구성, 저장 및 액세스하는 방법을 정의합니다.

운영 체제의 파일 시스템은 파일을 디렉토리 또는 폴더라는 모음으로 그룹화하는 작업도 수행합니다. 일반 파일과 디렉토리는 다른 많은 것들과 자주 상호 작용하는 파일 시스템의 가장 일반적인 부분입니다.



파일 시스템의 몇 가지 예로는 NTFS(New Technology File System), UFS(UNIX 파일 시스템) 및 HFS(계층적 파일 시스템)가 있습니다.

버추얼박스에 윈도우7 설치하는 방법

Node.js fs 모듈이란 무엇입니까?

Node.js fs 모듈은 Node.js를 지원하는 모든 운영 체제의 파일 시스템 작업을 위해 Node.js에서 제공하는 내장 라이브러리입니다. 그만큼 fs 모듈은 쉽게 액세스할 수 있으며 다음과 같은 파일 작업을 위한 이동 라이브러리입니다. 파일에서 읽기 또는 Node.js의 파일에 데이터 쓰기 .





와 함께 매우 일반적으로 사용됩니다. 그리고 파일에 대한 다양한 작업을 수행하는 모듈. 사용하려면 fs 모듈을 프로그램에 포함하는 경우 아래 코드와 같이 소스 코드로 가져올 수 있습니다.

// CommonJS 
const fs = require('fs')

// ES6
import fs from 'fs'

Node.js 경로 모듈이란 무엇입니까?

Node.js를 사용할 수 있습니다. 파일 경로를 조작하는 모듈. 여기에는 파일 및 디렉터리 경로와 쉽게 상호 작용할 수 있는 유틸리티가 포함되어 있습니다. 사용 fs 그리고 작업을 완료하기 위해 모듈을 함께 사용하는 것이 표준 관행입니다. 이는 대부분의 fs 모듈 기능은 대상 파일에 대한 경로 또는 기능할 디렉토리에 따라 다릅니다.





안드로이드 폰에서 USB로 음악 재생하는 방법

가져올 수 있습니다 아래 구문을 사용하여 코드에 모듈을 추가합니다.

// CommonJS 
const path = require('path')

// ES6
import path from 'path'

Node.js에서 파일 시스템에 액세스하기 위한 공통 기능

다음은 가장 일반적으로 사용되는 Node.js입니다. fs 그리고 모듈 기능과 파일 및 디렉토리와 상호 작용하는 데 사용하는 방법.

경로 작업

  1. 경로.해결: 매개변수로 전달된 경로 명령어 목록에서 경로를 확인하는 함수입니다. 예:
    path.resolve('home', 'projects', 'web'); 
    // returns <path_to_current_directory>/home/projects/web

    path.resolve('home/projects/web', '../mobile');
    // returns <path_to_current_directory>/home/projects/mobile
  2. 경로.정규화: 그만큼 정규화하다 함수는 주어진 입력 경로에서 정확하고 정규화된 경로를 반환합니다. 예:
    path.normalize('home/projects/web/../mobile/./code'); 
    // returns home/projects/mobile/code
  3. 경로 조인: 이 함수는 여러 세그먼트에서 경로를 작성합니다. 예:
    path.join('home', 'projects', '../', 'movies'); 
    // returns home/movies
  4. 경로.베이스 이름: 그만큼 basename 함수는 최종 경로 세그먼트를 반환합니다. 두 가지 방법으로 사용할 수 있습니다.
    path.basename('home/projects/web/index.js'); 
    // returns index.js

    path.basename('home/projects/web/index.js', '.js');
    // removes the extension and returns 'index'
  5. 경로.디렉토리 이름: 이 함수는 주어진 경로의 마지막 디렉토리에 대한 경로를 반환합니다. 예:
    path.dirname('home/projects/web/index.js'); 
    // returns home/projects/web
  6. 경로.확장명: 이 기능을 사용하면 주어진 경로에서 파일 확장자를 얻을 수 있습니다.
    path.extname('home/projects/web/index.js'); 
    // returns '.js'

파일 열기 및 닫기

  1. fs.open: Node.js에서 동기적으로 파일을 열거나 생성하는 함수입니다. 동기식 fs.open ~이다 fs.openSync . fs.열기 cc는 파일 경로, 플래그, 열기 모드 및 콜백 함수인 4개의 인수를 허용합니다. 깃발 그리고 열려 있는 방법 기본값이 있으며 다음에서 자세히 알아볼 수 있습니다. Node.js fs.open 문서.
    const filePath = path.join(__dirname, '/videos/newVideo.mp4'); 
    // __dirname returns the path to the current working directory.
    // filePath = <path_to_current_directory>/videos/newVideo.mp4

    fs.open(filePath, (error, fileDescriptor) => {
    // handle errors
    console.log(fileDescriptor); // prints an integer representing the file descriptor
    })
  2. fs.close: 열려 있는 파일이 더 이상 필요하지 않을 때는 항상 닫는 것이 좋습니다. Node.js에는 fs.close 기능:
    fs.open(filePath, (error, fileDescriptor) => { 
    // handle errors, such as 'file/directory does not exist'
    console.log(fileDescriptor);

    // close the file
    fs.close(fileDescriptor, (error) => {
    // handle errors
    console.log('File closed successfully');
    });
    })

생성 및 삭제

  1. fs.mkdir: 이것은 다음과 같이 작동합니다. mkdir 새 디렉토리를 생성하는 터미널 명령. 경로, 모드(선택 사항) 및 콜백 함수를 매개변수로 받습니다. 다음과 같이 사용할 수 있습니다.
    const dirPath = path.join(__dirname, 'newDirectory'); 
    fs.mkdir(dirPath, (error) => {
    // handle errors
    console.log('New directory created successfully');
    });
  2. fs.unlink: 이 함수는 인수로 전달된 경로에서 파일을 제거하거나 삭제합니다. 아래 코드 예를 고려하십시오.
    const filePath = path.join(_dirname, 'oldFile.js'); 

    fs.unlink(filePath, (error) => {
    // handle errors
    console.log('File has been deleted successfully');
    });
  3. fs.rmdir: 이 메소드는 주어진 경로에서 디렉토리를 삭제합니다. 연결 해제 방법과 사용법이 매우 유사합니다.
    const dirPath = path.resolve('home', 'projects', 'web'); 

    fs.rmdir(dirPath, (error) => {
    // handle errors
    console.log('Directory successfully deleted');
    })

파일 메타데이터

  1. fs.exists: 그만큼 존재 메소드는 주어진 경로에 파일이 존재하는지 확인합니다. 구현은 다음과 같습니다:
    let filePath = path.join(__dirname, 'index.html'); 

    fs.exists(filePath, (exists) => {
    console.log(exists) // true or false
    })
  2. fs.stat: 이것은 파일의 속성을 반환하는 동기 함수입니다. 그것은 반환 fs.Stats 파일의 속성에 액세스하기 위한 몇 가지 메서드를 노출하는 개체입니다. 다음은 예입니다.
    fs.stat('index.js', (error, stats) => { 
    console.log(stats); // prints low level properties of the file
    stats.isFile(); // returns true
    stats.isDirectory(); // returns false
    })