Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)
이 글은 Node의 fs 파일 모듈과 경로 모듈에 대해 알아보기 위해 파일 읽기 및 쓰기와 경로 처리 사례를 사용합니다. 모두에게 도움이 되기를 바랍니다!
1. fs 파일 시스템 모듈
fs 모듈 은 Node.js에서 공식적으로 제공하는 모듈로 파일을 운영하는 데 사용됩니다. 파일 작업에 대한 사용자 요구 사항을 충족하는 일련의 메서드와 속성을 제공합니다. [관련 튜토리얼 추천 : nodejs 영상 튜토리얼]
1.지정된 파일 읽기
fs.readFile(): 지정된 파일의 내용 읽기
매개변수 1: 필수 매개변수, 문자열 , 파일의 경로를 나타냄
매개변수 2: 파일을 읽을 인코딩 형식을 나타내는 선택적 매개변수
매개변수 3: 필수 매개변수, 파일 읽기가 완료된 후 콜백 함수를 통해 읽기 결과 가져오기
fs.readFile(path, [options], callback)
예제 1: 데모.txt 파일 읽기
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) })
경로가 잘못된 경우(예: 파일 읽기 실패, 인쇄된 내용은 다음과 같습니다. [err은 오류 개체, 데이터는 정의되지 않음]
예 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) })
2. 지정된 파일에 쓰기
fs.writeFile(): 내용을 씁니다. 지정된 파일
파라미터 1: 필수 파라미터, 파일의 저장 경로를 나타내는 파일 경로 문자열을 지정해야 합니다
파라미터 2: 작성할 내용을 나타내는 필수 파라미터
파라미터 3: 선택적 파라미터, 작성할 형식 파일 내용 입력, 기본값은 utf-8
매개변수 4: 필수 매개변수, 파일 쓰기 완료 후 콜백 함수
fs.writeFile(file, data, [options], callback)
예1: 데모.txt 파일 작성
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('文件写入成功') })
참고: 존재하지 않는 디스크에 쓰는 경우 즉, 파일 쓰기에 실패하며 인쇄되는 내용은 다음과 같습니다.
3. 성적 케이스 정리
예: 성적 형식 변환
변환 전 성적 형식
성적 형식
파일 형식은 다음과 같습니다
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('成绩写入成功') }) })
4. 처리 경로
__dirname: 현재 파일이 있는 디렉터리를 나타냅니다
예: 상대 경로 쓰기
const fs = require('fs') fs.readFile('../files/score.txt', 'utf-8', function(err, data) { if (err) { return console.log('文件读取失败' + err.message) } console.log('文件读取成功') })
示例:使用 __dirname
const fs = require('fs') // 读取文件 fs.readFile(__dirname + '/files/score.txt', 'utf-8', function(err, data) { if (err) { return console.log('文件读取失败' + err.message) } console.log('文件读取成功') })
二、path 路径模块
path 模块是 Node.js 官方提供的、用来处理路径的模块
1、path.join() 路径拼接
path.join():用来将多个路径判断拼接成一个完整的路径字符串
参数:…paths
<string>
路径片段的序列
返回值:返回值<string>
path.join([...paths])
示例:路径拼接
// 导入 path 模块 const path = require('path') // ../ 会抵消前面的路径 const pathStr = path.join('/a','/b/c', '../', './d', 'e') console.log(pathStr)
备注:涉及到路径拼接的操作,都要使用 path.join() 方法进行处理。不要直接用 + 进行字符串拼接
示例:使用 path 进行路径拼接
const fs = require('fs') const path = require('path') // 文件读取 fs.readFile(path.join(__dirname, '/files/score.txt'), 'utf-8', function(err, data) { if (err) { return console.log('文件读取失败', err.message) } console.log('文件读取成功') })
2、path.basename() 解析文件名
path.basename():用来从路径字符串中,将文件名解析出来
参数 1:path 必选参数,表示一个路径的字符串
参数 2:ext 可选参数,表达文件扩展名
返回值:返回 表示路径中的最后一部分
path.basename(path, [ext])
示例:解析路径,去除扩展名
// 导入 path 模块 const path = require('path') // 文件的存放路径 const fpath = '/a/b/c/index.html' // 将文件名解析出来 const fullName = path.basename(fpath) console.log(fullName) // 输出 index.html // 去除扩展名 const nameWithoutExt = path.basename(fpath, '.html') console.log(nameWithoutExt) // 输出 index
3、path.extname() 获取扩展名
path.extname():可以获取路径中的扩展名部分
参数:
path <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相关知识,请访问:nodejs 教程!
위 내용은 Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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

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

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

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

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