Penerangan kaedah:
Buka fail secara tidak segerak.
Dalam sistem POSIX, laluan dianggap wujud secara lalai (walaupun fail di bawah laluan tidak wujud)
bendera bendera mungkin atau mungkin tidak dijalankan di bawah sistem fail rangkaian.
Tatabahasa:
fs.open(laluan, bendera, [mod], [panggil balik(err,fd)])
Memandangkan kaedah ini tergolong dalam modul fs, modul fs perlu diperkenalkan sebelum digunakan (var fs= require(“fs”) )
Terima parameter:
laluan Laluan fail
bendera boleh menjadi nilai berikut
'r' - Buka fail dalam mod baca.
'r ' - Buka fail dalam mod baca-tulis.
'rs' - Buka dan baca fail menggunakan mod segerak. Mengarahkan sistem pengendalian untuk mengabaikan cache sistem fail tempatan.
'rs' - Buka, baca dan tulis fail secara serentak.
Nota: Ini bukan operasi menyekat yang meletakkan fs.open ke dalam mod segerak. Jika anda mahu mod segerak gunakan fs.openSync().
'w' - Buka fail dalam mod baca atau buatnya jika ia tidak wujud
'wx' - sama seperti mod ' w ', mengembalikan kegagalan jika fail wujud
'w ' - Buka fail dalam mod baca-tulis, buat fail jika ia tidak wujud
'wx ' - sama seperti mod ' w ', mengembalikan kegagalan jika fail wujud
'a' - Buka fail dalam mod tambah, ciptakannya jika ia tidak wujud
'ax' - sama seperti mod ' a ', mengembalikan kegagalan jika fail wujud
'a ' - Buka fail dalam mod tambah-baca, buat jika fail tidak wujud
'ax ' - sama seperti mod ' a ', mengembalikan kegagalan jika fail wujud
mod digunakan untuk menetapkan kebenaran untuk fail semasa membuat fail Lalai ialah 0666
panggilan balik Fungsi panggil balik akan menghantar deskriptor fail fd dan ralat pengecualian
Contoh:
var fs = memerlukan('fs');
fs.open('/path/demo1.txt', 'a', function (err, fd) {
jika (err) {
Silap buang;
}
fs.futimes(fd, 1388648322, 1388648322, fungsi (err) {
Jika (err) {
silap buang;
}
console.log('futimes complete');
fs.close(fd, fungsi () {
console.log('Selesai');
});
});
});
Kod sumber:
fs.open = fungsi(laluan, bendera, mod, panggil balik) {
panggil balik = makeCallback(arguments[arguments.length - 1]);
mod = modeNum(mod, 438 /*=0666*/);
jika (!nullCheck(path, callback)) return;
binding.open(pathModule._makeLong(path),
stringToFlags(bendera),
mod,
panggil balik);
};