Rumah > Artikel > hujung hadapan web > Bagaimana untuk mengesan sama ada fail wujud dalam nodejs
Kaedah pengesanan: 1. Gunakan "fs.exists(path,callback)"; 2. Gunakan "await util.promisify(fs.stat)('file path')"; akses(path[,mod],panggilan balik);".
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!