목차
2. 지정된 파일에 쓰기" >2. 지정된 파일에 쓰기
3. 성적 케이스 정리" > 3. 성적 케이스 정리
4. 처리 경로" >4. 처리 경로
二、path 路径模块" >二、path 路径模块
1、path.join() 路径拼接" >1、path.join() 路径拼接
2、path.basename() 解析文件名" >2、path.basename() 解析文件名
3、path.extname() 获取扩展名" >3、path.extname() 获取扩展名
웹 프론트엔드 JS 튜토리얼 Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

Nov 18, 2022 pm 08:36 PM
nodejs​ node.js node

이 글은 Node의 fs 파일 모듈과 경로 모듈에 대해 알아보기 위해 파일 읽기 및 쓰기와 경로 처리 사례를 사용합니다. 모두에게 도움이 되기를 바랍니다!

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

1. fs 파일 시스템 모듈

fs 모듈 은 Node.js에서 공식적으로 제공하는 모듈로 파일을 운영하는 데 사용됩니다. 파일 작업에 대한 사용자 요구 사항을 충족하는 일련의 메서드와 속성을 제공합니다. [관련 튜토리얼 추천 : nodejs 영상 튜토리얼]

1.지정된 파일 읽기

fs.readFile(): 지정된 파일의 내용 읽기

매개변수 1: 필수 매개변수, 문자열 , 파일의 경로를 나타냄
매개변수 2: 파일을 읽을 인코딩 형식을 나타내는 선택적 매개변수
매개변수 3: 필수 매개변수, 파일 읽기가 완료된 후 콜백 함수를 통해 읽기 결과 가져오기

fs.readFile(path, [options], callback)
로그인 후 복사

예제 1: 데모.txt 파일 읽기

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

demo.txt 파일

'前端杂货铺'
로그인 후 복사

app.js 파일

// 导入 fs 文件系统模块
const fs = require('fs')

// 读取文件 utf-8 为中文编码格式
fs.readFile('../files/demo.txt', 'utf-8', function (err, data) {
    console.log('err:', err)
    console.log('data:', data)
})
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

경로가 잘못된 경우(예: 파일 읽기 실패, 인쇄된 내용은 다음과 같습니다. [err은 오류 개체, 데이터는 정의되지 않음]

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

예 2: 데모.txt 파일 읽기 성공 여부 확인

app.js 파일

  • 고의로 잘못된 경로를 작성하여 읽기에 실패했습니다
  • 실패 결과는 다음과 같습니다
// 导入 fs 模块
const fs = require('fs')

// 读取文件
fs.readFile('../files/demo1.txt', 'utf-8', function (err, data) {
    if(err) {
        return console.log('读取文件失败', err.message)
    }
    console.log('data:', data)
})
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

2. 지정된 파일에 쓰기

fs.writeFile(): 내용을 씁니다. 지정된 파일

파라미터 1: 필수 파라미터, 파일의 저장 경로를 나타내는 파일 경로 문자열을 지정해야 합니다
파라미터 2: 작성할 내용을 나타내는 필수 파라미터
파라미터 3: 선택적 파라미터, 작성할 형식 파일 내용 입력, 기본값은 utf-8
매개변수 4: 필수 매개변수, 파일 쓰기 완료 후 콜백 함수

fs.writeFile(file, data, [options], callback)
로그인 후 복사

예1: 데모.txt 파일 작성

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

demo.txt File

// 该文件内容为空
로그인 후 복사

app.js file

// 导入 fs 文件系统模块
const fs = require('fs')

// 写入文件内容
fs.writeFile('../files/demo.txt', '这里是前端杂货铺', function(err, data) {
    if (err) {
        return console.log('写入文件失败', err.message)
    }
    console.log('文件写入成功')
})
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

참고: 존재하지 않는 디스크에 쓰는 경우 즉, 파일 쓰기에 실패하며 인쇄되는 내용은 다음과 같습니다.

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

3. 성적 케이스 정리

예: 성적 형식 변환

변환 전 성적 형식

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

성적 형식

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)
파일 형식은 다음과 같습니다

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

score.txt 파일

  • 점수 내용 작성
杂货铺=100 张三=98 李四=95 王五=92
로그인 후 복사

app.js 파일

  • 필요한 fs 파일 모듈 가져오기
  • fs.read파일 사용 ( ) 메소드를 사용하여 자료 디렉터리에 있는 Score.txt 파일을 읽습니다.
  • 파일 읽기 실패 여부를 확인합니다
  • 파일 읽기 성공 후 점수 데이터를 처리합니다.
  • 완성된 점수 데이터가 처리되며, fs.writeFile( ) 메서드를 사용하여 새 파일 newScore.txt
// 导入 fs 文件系统模块
const fs = require('fs')

// 写入文件内容
fs.readFile('../files/score.txt', 'utf-8', function (err, data) {
    // 判断是否读取成功
    if (err) {
        return console.log('读取文件失败' + err.message)
    }
    // 把成绩按空格进行分割
    const arrOld = data.split(' ')
    // 新数组的存放
    const arrNew = []
    // 循环分割后的数组 对每一项数据 进行字符串的替换操作
    arrOld.forEach(item => {
        arrNew.push(item.replace('=', ':'))
    })
    // 把新数组中的每一项合并 得到新的字符串
    const newStr = arrNew.join('\r\n')

    // 写入新数据
    fs.writeFile('../files/newScore.txt', newStr, function (err) {
        if (err) {
            return console.log('写入成绩失败' + err.message)
        }
        console.log('成绩写入成功')
    })
})
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

4. 처리 경로

__dirname: 현재 파일이 있는 디렉터리를 나타냅니다

예: 상대 경로 쓰기

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

const fs = require('fs')

fs.readFile('../files/score.txt', 'utf-8', function(err, data) {
    if (err) {
        return console.log('文件读取失败' + err.message)
    }
    console.log('文件读取成功')
})
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

示例:使用 __dirname

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

const fs = require('fs')

// 读取文件
fs.readFile(__dirname + '/files/score.txt', 'utf-8', function(err, data) {
    if (err) {
        return console.log('文件读取失败' + err.message)
    }
    console.log('文件读取成功')
})
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

二、path 路径模块

path 模块是 Node.js 官方提供的、用来处理路径的模块

1、path.join() 路径拼接

path.join():用来将多个路径判断拼接成一个完整的路径字符串

参数:…paths <string> 路径片段的序列
返回值:返回值 <string>

path.join([...paths])
로그인 후 복사

示例:路径拼接

// 导入 path 模块
const path = require(&#39;path&#39;)
// ../ 会抵消前面的路径
const pathStr = path.join(&#39;/a&#39;,&#39;/b/c&#39;, &#39;../&#39;, &#39;./d&#39;, &#39;e&#39;)
console.log(pathStr)
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)
备注:涉及到路径拼接的操作,都要使用 path.join() 方法进行处理。不要直接用 + 进行字符串拼接

示例:使用 path 进行路径拼接

const fs = require(&#39;fs&#39;)
const path = require(&#39;path&#39;)

// 文件读取
fs.readFile(path.join(__dirname, &#39;/files/score.txt&#39;), &#39;utf-8&#39;, function(err, data) {
    if (err) {
        return console.log(&#39;文件读取失败&#39;, err.message)
    }
    console.log(&#39;文件读取成功&#39;)
})
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

2、path.basename() 解析文件名

path.basename():用来从路径字符串中,将文件名解析出来

参数 1:path 必选参数,表示一个路径的字符串
参数 2:ext 可选参数,表达文件扩展名
返回值:返回 表示路径中的最后一部分

path.basename(path, [ext])
로그인 후 복사

示例:解析路径,去除扩展名

// 导入 path 模块
const path = require(&#39;path&#39;)
// 文件的存放路径
const fpath = &#39;/a/b/c/index.html&#39;

// 将文件名解析出来
const fullName = path.basename(fpath)
console.log(fullName) // 输出 index.html

// 去除扩展名
const nameWithoutExt = path.basename(fpath, &#39;.html&#39;)

console.log(nameWithoutExt) // 输出 index
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

3、path.extname() 获取扩展名

path.extname():可以获取路径中的扩展名部分

参数:path <string> 必选参数,表示一个路径的字符串
返回值:返回 <string> 返回得到的扩展名字符串

path.extname(path)
로그인 후 복사

示例:获取扩展名

// 导入 path 模块
const path = require(&#39;path&#39;)
// 文件的存放路径
const fpath = &#39;/a/b/c/index.html&#39;
// 获取扩展名
const fext = path.extname(fpath)

console.log(fext) // .html
로그인 후 복사

Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

更多node相关知识,请访问:nodejs 教程

위 내용은 Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Node의 메모리 제어에 관한 기사 Node의 메모리 제어에 관한 기사 Apr 26, 2023 pm 05:37 PM

Non-Blocking, Event-Driven 기반으로 구축된 Node 서비스는 메모리 소모가 적다는 장점이 있으며, 대규모 네트워크 요청을 처리하는데 매우 적합합니다. 대규모 요청을 전제로 '메모리 제어'와 관련된 문제를 고려해야 합니다. 1. V8의 가비지 수집 메커니즘과 메모리 제한 Js는 가비지 수집 기계에 의해 제어됩니다.

Node V8 엔진의 메모리와 GC에 대한 자세한 그래픽 설명 Node V8 엔진의 메모리와 GC에 대한 자세한 그래픽 설명 Mar 29, 2023 pm 06:02 PM

이 기사는 NodeJS V8 엔진의 메모리 및 가비지 수집기(GC)에 대한 심층적인 이해를 제공할 것입니다. 도움이 되기를 바랍니다.

Express를 사용하여 노드 프로젝트에서 파일 업로드를 처리하는 방법 Express를 사용하여 노드 프로젝트에서 파일 업로드를 처리하는 방법 Mar 28, 2023 pm 07:28 PM

파일 업로드를 처리하는 방법은 무엇입니까? 다음 글에서는 Express를 사용하여 노드 프로젝트에서 파일 업로드를 처리하는 방법을 소개하겠습니다. 도움이 되길 바랍니다.

Node의 파일 모듈에 대해 자세히 이야기해 보겠습니다. Node의 파일 모듈에 대해 자세히 이야기해 보겠습니다. Apr 24, 2023 pm 05:49 PM

파일 모듈은 파일 읽기/쓰기/열기/닫기/삭제 추가 등과 같은 기본 파일 작업을 캡슐화한 것입니다. 파일 모듈의 가장 큰 특징은 모든 메소드가 **동기** 및 ** 두 가지 버전을 제공한다는 것입니다. 비동기**, sync 접미사가 있는 메서드는 모두 동기화 메서드이고, 없는 메서드는 모두 이기종 메서드입니다.

Node의 프로세스 관리 도구 'pm2”에 대한 심층 분석 Node의 프로세스 관리 도구 'pm2”에 대한 심층 분석 Apr 03, 2023 pm 06:02 PM

이 기사에서는 Node의 프로세스 관리 도구인 "pm2"를 공유하고 pm2가 필요한 이유, pm2 설치 및 사용 방법에 대해 설명합니다. 모두에게 도움이 되기를 바랍니다!

PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까? PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까? Mar 05, 2025 pm 05:57 PM

Pinetwork 노드에 대한 자세한 설명 및 설치 안내서이 기사에서는 Pinetwork Ecosystem을 자세히 소개합니다. Pi 노드, Pinetwork 생태계의 주요 역할을 수행하고 설치 및 구성을위한 전체 단계를 제공합니다. Pinetwork 블록 체인 테스트 네트워크가 출시 된 후, PI 노드는 다가오는 주요 네트워크 릴리스를 준비하여 테스트에 적극적으로 참여하는 많은 개척자들의 중요한 부분이되었습니다. 아직 Pinetwork를 모른다면 Picoin이 무엇인지 참조하십시오. 리스팅 가격은 얼마입니까? PI 사용, 광업 및 보안 분석. Pinetwork 란 무엇입니까? Pinetwork 프로젝트는 2019 년에 시작되었으며 독점적 인 Cryptocurrency Pi Coin을 소유하고 있습니다. 이 프로젝트는 모든 사람이 참여할 수있는 사람을 만드는 것을 목표로합니다.

Node의 이벤트 루프에 대해 이야기해 봅시다. Node의 이벤트 루프에 대해 이야기해 봅시다. Apr 11, 2023 pm 07:08 PM

이벤트 루프는 Node.js의 기본 부분이며 메인 스레드가 차단되지 않도록 하여 비동기 프로그래밍을 가능하게 합니다. 이벤트 루프를 이해하는 것은 효율적인 애플리케이션을 구축하는 데 중요합니다. 다음 기사는 Node.js의 이벤트 루프에 대한 심층적인 이해를 제공할 것입니다. 도움이 되기를 바랍니다!

노드가 npm 명령을 사용할 수 없으면 어떻게 해야 합니까? 노드가 npm 명령을 사용할 수 없으면 어떻게 해야 합니까? Feb 08, 2023 am 10:09 AM

노드가 npm 명령을 사용할 수 없는 이유는 환경 변수가 올바르게 구성되지 않았기 때문입니다. 해결 방법은 다음과 같습니다. 1. "시스템 속성"을 엽니다. 2. "환경 변수" -> "시스템 변수"를 찾은 다음 환경을 편집합니다. 3. nodejs 폴더의 위치를 ​​찾습니다. 4. "확인"을 클릭합니다.

See all articles