> 웹 프론트엔드 > 프런트엔드 Q&A > nodejs에서 파일 내용을 수정하는 방법

nodejs에서 파일 내용을 수정하는 방법

青灯夜游
풀어 주다: 2023-01-11 09:20:34
원래의
8957명이 탐색했습니다.

Nodejs 메서드를 사용하여 파일 콘텐츠 수정: 1. "fs.writeFile(path,data,callback:(err)=>void)" 메서드를 사용합니다. 2. "fs.open(path,(err,fd)= >)을 사용합니다. ;{})"는 파일을 열고 파일 설명자 fd를 통해 데이터를 씁니다.

nodejs에서 파일 내용을 수정하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, nodejs 버전 14.15.4, DELL G3 컴퓨터.

nodejs에서는 파일 파일 시스템 모듈(줄여서 fs)에 내장된 메소드를 사용하여 파일 내용을 수정할 수 있습니다.

파일 내용 수정

파일에 데이터 쓰기, 데이터는 문자열이나 버퍼일 수 있습니다.fs.writeFile(path,data,callback:(err)=>void)

fs.writeFile('message.txt', data, (err) => {
  if (err) throw err;
});
로그인 후 복사

파일 설명자 fd를 통해 파일을 쓰는 또 다른 방법이 있습니다:

fs.open(path,(err,fd)=>{
    //针对拿到的fd 进行操作:将buffer内容写如fd对应的文件里
    //position为文件的起点
    //length为待写的长度
    //offset为缓存区起写的位置
    fs.write(fd,buffer,offset,length,position,(err,bytesWrittenLen,buffer)=>{

    })
    //关闭文件
    fs.close(fd, (err) => {
        if (err) throw err;
    });
})
로그인 후 복사

예: 읽기 파일을 가져오고 파일 내용을 수정합니다

const fs = require('fs');
const path = require('path');
const newList = [];
fs.readFile(path.join(__dirname, './json/hp_mph.json'), 'utf8', function (err, data) {
    if (err) throw err;
    let list = JSON.parse(data);
    // list.forEach((item,index)=>{
    //     let value = item.properties;
    //     let result = {};  
    //     result.ID = index + 1;
    //     result.TYPE = value.FLAG_A;
    //     result.X = value.X;
    //     result.Y = value.Y;
    //     newList.push(result);
    // })
 
    for (let i = 0; i < list.length; i++) {
        let result = {};
        let value = list[i].properties;
        result.ID = i + 1;
        result.TYPE = value.FLAG_A;
        result.X = value.X;
        result.Y = value.Y;
        newList.push(result);
    }
 
    let newContent = JSON.stringify(newList, null, 4);
    fs.writeFile(&#39;result.json&#39;, newContent, &#39;utf8&#39;, (err) => {
        if (err) throw err;
        console.log(&#39;success done&#39;);
    });
});
로그인 후 복사

[추천 학습: "nodejs tutorial"]

위 내용은 nodejs에서 파일 내용을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿