이 글은 Node의 fs 파일 모듈과 경로 모듈에 대해 알아보기 위해 파일 읽기 및 쓰기와 경로 처리 사례를 사용합니다. 모두에게 도움이 되기를 바랍니다!
fs 모듈 은 Node.js에서 공식적으로 제공하는 모듈로 파일을 운영하는 데 사용됩니다. 파일 작업에 대한 사용자 요구 사항을 충족하는 일련의 메서드와 속성을 제공합니다. [관련 튜토리얼 추천 : nodejs 영상 튜토리얼]
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) })
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('文件写入成功') })
참고: 존재하지 않는 디스크에 쓰는 경우 즉, 파일 쓰기에 실패하며 인쇄되는 내용은 다음과 같습니다.
예: 성적 형식 변환
변환 전 성적 형식
성적 형식
파일 형식은 다음과 같습니다
score.txt 파일
杂货铺=100 张三=98 李四=95 王五=92
app.js 파일
// 导入 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('成绩写入成功') }) })
__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 模块是 Node.js 官方提供的、用来处理路径的模块
path.join():用来将多个路径判断拼接成一个完整的路径字符串
参数:…paths
<string></string>
路径片段的序列
返回值:返回值<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('文件读取成功') })
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
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相关知识,请访问:nodejs 教程!
위 내용은 Node의 fs 파일 모듈과 경로 모듈에 대해 이야기하는 기사(사례 분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!