>웹 프론트엔드 >JS 튜토리얼 >몇 가지 일반적인 Nodejs 파일 fs 모듈 API 공유(요약)

몇 가지 일반적인 Nodejs 파일 fs 모듈 API 공유(요약)

青灯夜游
青灯夜游앞으로
2021-08-12 09:56:022270검색

이 글은 업무에서 자주 사용하는 NodejsFile fs 모듈 API 중 일부를 다음에 잊어버리지 않도록 정리하여 기록합니다.

몇 가지 일반적인 Nodejs 파일 fs 모듈 API 공유(요약)

웹 개발 엔지니어로서 Nodejs를 다루어야 합니다. fs 모듈은 매우 유용하고 일부 파일 관련 작업을 수행할 수 있지만 항상 잊어버립니다. 다음에는 잊어버리지 않도록 오늘 다시 정리해서 녹음해 볼 생각이에요.

동기 및 비동기

fs 모듈의 파일 작업은 일반적으로 동기 및 비동기 API를 모두 지원하며 비동기에는 콜백 함수 및 promsie 양식도 포함됩니다. 동기화 뒤에는 일반적으로 sync라는 단어가 붙습니다. [추천학습: "nodejs tutorialsync字样。【推荐学习:《nodejs 教程》】

打开、关闭文件

fs.open(path:string,callback:(err,fd)=>void)用于打开文件,获取文件描述符(file descriptor),基于拿到的文件描述符做文件操作。fs.close(fd:number,callback:(err)=>void)用于关闭文件

//打开文件
fs.open(path,(err,fd)=>{
    //针对拿到的fd 进行操作
    
    //关闭文件
    fs.close(fd, (err) => {
        if (err) throw err;
    });
})

一般用于对文件做多种操作时使用。如果你仅仅想读取文件的内容建议用fs.readFile

读取文件(目录)

读取文件:fs.readFile(path:string,callback:(err,data)=>void)

fs.readFile(path,(err,data)=>{
    //string或者buffer
    console.log(data)
})

读取目录:fs.readdir(path:string,callback:(err,files:Array98c455a79ddfebb79781bff588e7b37e)=>void)

fs.readdir("./dir",(err,fileNames)=>{
    console.log(fileNames)
})

还有一种方式通过文件描述符来读取:

fs.read(fd,buffer,offset,length,position,callback:(err,bytesLen,buffer)=>void)

//分配一块长度为10的缓存区
const buffer = Buffer.alloc(10);
//打开文件
fs.open(path,(err,fd)=>{
    //针对拿到的fd 进行操作:将fd对应的文件内容读取到buffer里
    //position为文件的起点
    //length为读取的长度
    //offset为缓存区起读的位置
    fs.read(fd,buffer,offset,length,position,(err,bytesLen,buffer)=>{
        //buffer为包含读到数据的原始buffer对象
        //bytesLen === length;// true
    })
    //关闭文件
    fs.close(fd, (err) => {
        if (err) throw err;
    });
})

写入文件

将数据写入文件,数据可以是字符串buffer: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;
    });
})

删除文件(目录)

删除文件:fs.unlink(path, callback:(err)=>void)

删除目录:fs.rmdir(path,callback:(err)=>void)

同时支持删除目录和文件:fs.rm(path,callback:(err)=>void)"]

파일 열기 및 닫기

fs.open(path:string,callback:(err,fd)=>void)는 파일을 열고 파일을 가져오는 데 사용됩니다. 파일 설명자(파일 설명자), 획득한 파일 설명자를 기반으로 파일 작업을 수행합니다. fs.close(fd:number,callback:(err)=>void)는 파일을 닫는 데 사용됩니다

fs.stat(path,(err,stat)=>{
    //stat包含了该目录或文件的大小、创建时间、更新时间,是目录还是文件等
    //stats.isDirectory()
    //stats.isFile()
})
일반적으로 파일에 대한 다양한 작업을 수행할 때 사용됩니다. 파일 내용만 읽고 싶다면 fs.readFile 사용을 권장합니다

파일 읽기(디렉토리)

파일 읽기: fs.readFile(path:string,callback:(err,data)=>void)
//文件
fs.rename('oldFile.txt', 'newFile.txt', (err) => {
  if (err) throw err;
  console.log('Rename complete!');
});
//目录
fs.rename('oldFileDir', 'newFileDir', (err) => {
  if (err) throw err;
  console.log('Rename complete!');
});
디렉토리 읽기:fs.readdir(path:string,callback: (err,files: Array98c455a79ddfebb79781bff588e7b37e)=>void)

rrreee

파일 설명자를 읽는 또 다른 방법이 있습니다:

fs.read(fd,buffer,offset,length, position,callback: (err,bytesLen,buffer)=>void)rrreee

Write to file

🎜🎜데이터를 파일에 씁니다. be 🎜string🎜 또는 🎜buffer🎜:fs.writeFile(path,data,callback:(err)=>void)🎜rrreee🎜파일 설명자 fd를 통해 다른 방법이 있습니다. code>파일 쓰기:🎜rrreee

🎜파일(디렉토리) 삭제🎜🎜🎜파일 삭제:fs.unlink(path, callback:(err) =>void )🎜🎜디렉토리 삭제: fs.rmdir(path,callback:(err)=>void)🎜🎜디렉토리와 파일 모두 삭제 지원: fs.rm(path , callback:(err)=>void)🎜🎜🎜디렉토리(파일)의 상태 정보 보기🎜🎜rrreee🎜🎜Rename🎜🎜🎜이름 바꾸기에는 파일 및 디렉터리 이름 바꾸기도 포함됩니다🎜rrreee 🎜🎜마지막으로🎜 🎜🎜읽어주셔서 감사합니다. 질문이 있으시면 토론을 위해 메시지를 남겨주세요. 감사합니다! 🎜🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 소개🎜를 방문하세요! ! 🎜

위 내용은 몇 가지 일반적인 Nodejs 파일 fs 모듈 API 공유(요약)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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