Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk mengesan sama ada fail wujud dalam nodejs

Bagaimana untuk mengesan sama ada fail wujud dalam nodejs

青灯夜游
青灯夜游asal
2021-09-15 17:57:0812050semak imbas

Kaedah pengesanan: 1. Gunakan "fs.exists(path,callback)"; 2. Gunakan "await util.promisify(fs.stat)('file path')"; akses(path[,mod],panggilan balik);".

Bagaimana untuk mengesan sama ada fail wujud dalam nodejs

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 14.15.4, komputer DELL G3.

Kaedah nodejs untuk mengesan sama ada fail wujud:

1. Gunakan fs.exists

Fungsi exists() boleh menguji sama ada fail di bawah laluan tertentu wujud. Format sintaks:

fs.exists(path, callback)
  • laluan fail laluan untuk dikesan

  • panggilan balik

    • Fungsi panggil balik mengandungi parameter wujud, yang benar jika fail wujud, sebaliknya palsu.

Nota: Memandangkan kaedah ini tergolong dalam modul fs, modul fs perlu diperkenalkan sebelum digunakan (var fs= require(“fs” ) )

Pada masa ini fs.exists telah ditamatkan juga, harap maklum bahawa anda hanya perlu menyemak sama ada fail itu wujud apabila ia tidak digunakan secara langsung

Contoh:

fs.exists('/etc/passwd', function (exists) {
  util.debug(exists ? "it's there" : "no passwd!");
});

2. Gunakan fs.stat

fs.stat mengembalikan objek fs.Stats, yang menyediakan banyak maklumat tentang fail, seperti saiz fail, masa penciptaan, dsb. Terdapat dua kaedah, stats.isDirectory() dan stats.isFile(), yang digunakan untuk menentukan sama ada ia adalah direktori atau fail.

const stats = await util.promisify(fs.stat)('text1.txt'); 
console.log(stats.isDirectory()); // false 
console.log(stats.isFile()); // true

Jika anda hanya menyemak sama ada fail itu wujud, adalah disyorkan untuk menggunakan fs.access berikut.

3. Gunakan fs.access

fs.access menerima parameter mod untuk menentukan sama ada fail wujud, boleh dibaca dan boleh ditulis Nilai pulangan adalah ralat parameter.

const file = 'text.txt'; // 检查文件是否存在于当前目录中。
fs.access(file, fs.constants.F_OK, (err) => {
 console.log(`${file} ${err ? '不存在' : '存在'}`);
}); // 检查文件是否可读。
fs.access(file, fs.constants.R_OK, (err) => {
 console.log(`${file} ${err ? '不可读' : '可读'}`); 
}); // 检查文件是否可写。 
fs.access(file, fs.constants.W_OK, (err) => {
 console.log(`${file} ${err ? '不可写' : '可写'}`);
 }); // 检查文件是否存在于当前目录中、以及是否可写。
fs.access(file, fs.constants.F_OK | fs.constants.W_OK, (err) => {
 if (err) {
  console.error( `${file} ${err.code === 'ENOENT' ? '不存在' : '只可读'}`); 
  } else { 
  console.log(`${file} 存在,且可写`); 
  } 
});

[Pembelajaran yang disyorkan: "tutorial nodejs"]

Atas ialah kandungan terperinci Bagaimana untuk mengesan sama ada fail wujud dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn