وصف الطريقة:
افتح الملف بشكل غير متزامن.
في أنظمة POSIX ، يعتبر المسار موجودًا افتراضيًا (حتى لو لم يكن الملف الموجود تحت هذا المسار غير موجود)
قد يتم أو لا يعمل معرف العلامة تحت نظام ملفات الشبكة.
القواعد:
نسخة الكود كما يلي:
Fs.Open (المسار ، الأعلام ، [الوضع] ، [رد الاتصال (ERR ، FD)]))
نظرًا لأن هذه الطريقة تنتمي إلى وحدة FS ، فمن الضروري تقديم وحدة FS قبل الاستخدام (var fs = require ("fs"))
تلقي المعلمات:
مسار ملف المسار
يمكن أن تكون الأعلام هي القيم التالية
نسخة الكود كما يلي:
'r' - افتح الملف في وضع القراءة.
'r+' - افتح الملف في وضع القراءة والكتابة.
"RS" - فتح وقراءة الملفات باستخدام وضع التزامن. يرشد نظام التشغيل لتجاهل ذاكرة التخزين المؤقت لنظام الملفات المحلي.
'rs+' - افتح بطريقة متزامنة ، اقرأ واكتب إلى الملف.
ملاحظة: هذه ليست عملية حظر تجعل Fs.Open وضع متزامن. إذا كنت تريد الوضع المتزامن ، فاستخدم fs.opensync ().
'w' - افتح الملف في وضع القراءة ، قم بإنشاء ما إذا كان الملف غير موجود
"WX" - مثل وضع "W" ، فإنه يعيد فشلًا إذا كان الملف موجودًا
"W+" - افتح الملف في وضع القراءة والكتابة ، قم بإنشاء ما إذا كان الملف غير موجود
"WX+" - مثل وضع "W+" ، فإنه يعيد فشلًا إذا كان الملف موجودًا
"A" - افتح الملف في وضع الإلحاح ، قم بإنشاء ما إذا كان الملف غير موجود
"الفأس" - مثل وضع "A" ، فإنه يعيد فشلًا إذا كان الملف موجودًا
"A+" - افتح الملف في وضع إلحاق القراءة ، قم بإنشاء ما إذا كان الملف غير موجود
"AX+" - مثل وضع "A+" ، فإنه يعيد فشلًا إذا كان الملف موجودًا
يتم استخدام الوضع لتعيين أذونات للملفات عند إنشاء الملفات ، الافتراضي هو 0666
ستجتاز وظيفة رد الاتصال على رد الاتصال واصف ملف FD واستثناء خطأ
مثال:
نسخة الكود كما يلي:
var fs = require ('fs') ؛
fs.open ('/path/demo1.txt' ، 'a' ، function (err ، fd) {
إذا (خطأ) {
رمي الخطأ
}
fs.futimes (FD ، 1388648322 ، 1388648322 ، function (err) {
إذا (خطأ) {
رمي الخطأ
}
console.log ('Futimes Complete') ؛
fs.close (fd ، function () {
console.log ('Done') ؛
}) ؛
}) ؛
}) ؛
رمز المصدر:
نسخة الكود كما يلي:
fs.open = دالة (المسار ، الأعلام ، الوضع ، رد الاتصال) {
Callback = makeCallback (الوسيطات [encuments.length - 1]) ؛
الوضع = modenum (الوضع ، 438 /*= 0666* /) ؛
if (! nullcheck (path ، callback)) return ؛
binding.open (pathmodule._makelong (path) ،
stringtoflags (أعلام) ،
وضع،
أتصل مرة أخرى)؛
} ؛