>웹 프론트엔드 >JS 튜토리얼 >Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)

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

青灯夜游
青灯夜游앞으로
2022-11-18 20:36:171778검색

이 글은 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> 路径片段的序列
返回值:返回值 <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> 必选参数,表示一个路径的字符串
返回值:返回 <string></string> 返回得到的扩展名字符串

path.extname(path)

示例:获取扩展名

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

console.log(fext) // .html

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

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

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

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제