Bagaimana untuk Mengesan Laluan yang Disediakan ialah Fail atau Direktori dalam Node.js?

Bagaimana Untuk Mengesan Laluan Yang Disediakan Ialah Fail Atau Direktori Dalam Node Js



Mengesan entiti fail adalah penting terutamanya apabila aplikasi anda berurusan dengan pengurusan fail atau menyimpan data pengguna dalam direktori tertentu. Kerana direktori tunggal boleh menyimpan beberapa fail, operasi yang mungkin digunakan padanya melibatkan pergerakan fail ke direktori lain atau pemadaman semua fail yang tinggal.

Perkara yang sama berlaku dengan fail, operasinya mungkin termasuk mengubah suai fail, memasukkan data dalam fail atau pemadaman tunggal. Keseluruhan aplikasi akan menjadi kucar-kacir jika pembangun menggunakan operasi fail ke atas direktori atau sebaliknya.

Artikel ini akan menggambarkan pendekatan untuk mengesan sama ada laluan yang disediakan ialah fail atau direktori dengan merangkumi kaedah ini:







Bagaimana untuk Mengesan Laluan yang Disediakan ialah Fail atau Direktori dalam Node.js?

Terdapat dua kaedah yang disediakan oleh “ fs ” modul iaitu “ isDirectory() ” dan “ isFile() ” yang mempunyai tujuan tunggal untuk menyemak sama ada laluan yang disediakan membawa kepada fail atau direktori. Kaedah ini digunakan dalam kedua-dua senario segerak dan tak segerak menggunakan ' statSync() ” dan “ stat() ” kaedah. Kedua-dua kaedah ini ditunjukkan di bawah untuk mengesan sama ada laluan yang disediakan membawa kepada fail atau direktori.



Kaedah 1: Kaedah 'statSync()' untuk Mengesan Laluan Menuju ke Direktori atau Fail

' statSync() ” kaedah yang disediakan oleh “ fs ” modul pada asasnya digunakan untuk melakukan operasi segerak. Kaedah ini dalam kes kami, menyimpan contoh laluan yang disediakan hanya sekali. Kemudian, ia memberikan ' isDirectory() ” dan “ isFile() ” kaedah untuk mengembalikan sama ada laluan yang ditentukan menuju ke direktori atau fail.



Mari lawati coretan kod di bawah untuk pelaksanaan praktikal kaedah 'statSync()':





const fsObj = memerlukan ( 'fs' ) ;

biarkan pathFile = fsObj. statSync ( '/Users/kahou/Documents/readlineProj/mcu.db' ) ;

konsol. log ( 'Adakah disediakan Path Leads ke fail ? ' + pathFile. isFile ( ) ) ;

pathDir = fsObj. statSync ( '/Users/kahou/Documents/readlineProj' ) ;

konsol. log ( 'Adakah disediakan Path Leads ke direktori ? ' + pathDir. isDirectory ( ) ) ;

Penjelasan untuk kod yang disediakan di atas dinyatakan di bawah:

  • Pertama, import ' fs ' modul dan simpan contohnya dalam ' fsObj ” pembolehubah.
  • Kemudian, panggil ' statSync() ' kaedah menggunakan ' fsObj ” pembolehubah dan lulus laluan yang dipilih di dalam kurungannya. Simpan rujukan laluan ini di dalam “ pathFile ” pembolehubah.
  • Seterusnya, tetapkan ' isFile() ' kaedah dengan ' pathFile ” untuk mengembalikan nilai boolean yang akan menunjukkan sama ada laluan yang disediakan membawa kepada fail atau tidak.
  • Selepas itu, mohon sekali lagi ' statSync() ” kaedah dan lulus laluan baharu.
  • Akhir sekali, lampirkan ' isDirectory() ' kaedah dengan nilai yang dikembalikan oleh ' startSync() ” kaedah.

Sekarang, laksanakan fail semasa menggunakan arahan di bawah:



'nod '

Sebagai contoh, kami telah melaksanakan fail 'app.js':

Output menunjukkan nilai ' benar ” dikembalikan bermakna laluan yang disediakan adalah untuk folder dan fail telah dikesan.

Kaedah 2: Kaedah 'stat()' untuk Mengesan Laluan Menuju ke Direktori atau Fail

Kaedah lain yang berfungsi dengan sempurna untuk persekitaran tak segerak dikenali sebagai “ stat() ' kaedah yang disediakan oleh ' fs ” modul. Ia juga menggunakan ' yang sama isFile() ” dan “ isDirectory() ” kaedah tetapi disebabkan sifat tak segeraknya, laluan tunggal boleh dihantar kepada kedua-dua kaedah. Ia mempunyai dua parameter yang pertama satu laluan kedai dan yang kedua ialah fungsi panggil balik yang melakukan beberapa operasi di atas laluan yang disediakan:

const fsObj = memerlukan ( 'fs' ) ,
testPath = '/Users/kahou/Documents/readlineProj'

// Gunakan kaedah stat().
fsObj. stat ( testPath , ( kesilapan , statObj ) => {
jika ( ! kesilapan ) {
jika ( statObj. isFile ( ) ) {
konsol. log ( ' \n Ya! Laluan yang Disediakan Menuju ke Fail ? ' ) ;
}
lain jika ( statObj. isDirectory ( ) ) {
konsol. log ( ' \n Ya! Laluan yang Disediakan Menuju ke Direktori ? ' ) ;
}
}
lain
melontar kesilapan ;
} ) ;

Penjelasan untuk kod yang disediakan di atas ditunjukkan di bawah:

  • Pertama, import ' fs ' modul dan simpan contohnya dalam ' fsObj ” pembolehubah. Buat ' testPath ” pembolehubah yang menyimpan laluan yang disediakan oleh penguji.
  • Sekarang, mohon ' stat() ' kaedah dan lulus ' testPath ” sebagai parameter pertama dan fungsi panggil balik sebagai parameter kedua.
  • Fungsi panggil balik mengandungi “ kesilapan ” sebagai parameter pertama dan “ statObj ” sebagai yang kedua. ' kesilapan ” mengandungi ralat yang timbul semasa pelaksanaan dan “startObj” mempunyai laluan yang disediakan.
  • Di dalam fungsi, gunakan ' jika ” pernyataan yang dijalankan jika tiada ralat ditemui.
  • ' bersarang jika pernyataan ' digunakan untuk menetapkan ' isFile() ” dan “ isDirectory() ' kaedah dengan ' statObj ”.
  • Jika kaedah kembali ' benar ” barulah bahagian itu dilaksanakan dan memaparkan mesej kejayaan sewajarnya.

Selepas melaksanakan skrip di atas, terminal kelihatan seperti ini:

Seperti yang anda lihat, laluan yang disediakan kini dikesan dan mengesahkan laluan yang disediakan menuju ke direktori.

Kesimpulan

Untuk mengesan sama ada laluan yang disediakan ialah laluan direktori atau fail dalam NodeJs, kaedah ' isFile() ” dan “ isDirectory ” digunakan. Laluan yang boleh diakses oleh kaedah ini disediakan oleh ' statSync() ” dan “ stat() ' kaedah ' fs ” Modul NodeJs. Kaedah ini menyimpan laluan yang disediakan masing-masing dalam cara segerak dan tak segerak. Blog ini telah menerangkan prosedur untuk mengesan sama ada laluan yang disediakan membawa kepada fail atau direktori dalam NodeJS.