ホームページ  >  記事  >  ウェブフロントエンド  >  一部の Nodejs 共通ファイル fs モジュール API を共有する (概要)

一部の Nodejs 共通ファイル fs モジュール API を共有する (概要)

青灯夜游
青灯夜游転載
2021-08-12 09:56:022175ブラウズ

この記事では、仕事でよく使う Nodejs ファイル fs モジュールの API を次回忘れないように整理して記録します。

一部の Nodejs 共通ファイル fs モジュール API を共有する (概要)

Web 開発エンジニアとして、Nodejs を扱うことは避けられません。fs モジュールは非常に便利で、いくつかのファイル関連の操作を実行できますが、私は常に忘れてください、忘れてました。次回忘れないように今日もう一度整理して記録しておこうと思います。

同期と非同期

fs モジュールのファイル操作は通常、同期 API と非同期 API の両方をサポートしており、非同期にはコールバック関数と Promsie フォームも含まれます。通常、同期の後には sync という単語が続きます。 [推奨学習: 「nodejs チュートリアル 」]

ファイルを開いて閉じる

fs.open(path:string,callback: (err,fd)=>void) は、ファイルを開き、ファイル記述子 (ファイル記述子) を取得し、取得したファイル記述子に基づいてファイル操作を実行するために使用されます。 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;
    });
})

ファイルの書き込み

#データの書き込み ファイルを入力します。データは

string または 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.stat(path,(err,stat)=>{
    //stat包含了该目录或文件的大小、创建时间、更新时间,是目录还是文件等
    //stats.isDirectory()
    //stats.isFile()
})

名前の変更

名前の変更には、ファイルとディレクトリの名前の変更が含まれます

//文件
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!');
});

最後に

#お読みいただきありがとうございます。ご質問がございましたら、ディスカッション用にメッセージを残してください。ありがとうございます!

プログラミング関連の知識について詳しくは、

プログラミング入門をご覧ください。 !

以上が一部の Nodejs 共通ファイル fs モジュール API を共有する (概要)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。