وصف الطريقة:
الكتابة إلى ملف (وفقًا لوصفات الملف) ، تشبه الوظيفة Fs.WriteFile () ، لكن هذه الطريقة توفر عملية أكثر أساسيًا. يوصى باستخدام Fs.writeFile () متعددة في التطبيقات الفعلية.
هذه الطريقة تأتي في شكلين:
1. Fs.write (FD ، Buffer ، Offset ، Length [، position] ، [Callback (err ، byteswritten ، buffer)]))
تكتب طريقة الكتابة هذه المخزن المؤقت إلى ملف (ابحث عن الملف وفقًا لمواصف الملف FD).
2. Fs.write (FD ، Data [، position [، encoding]] ، [Callback (ERR ، Order ، String)]))
تكتب طريقة كتابة هذه البيانات إلى ملف (ابحث عن الملف وفقًا لمواصف الملف FD). إذا لم تكن البيانات قيمة مثيل للمخزن المؤقت ، فسيتم إلقاءها على سلسلة.
القواعد:
نسخة الكود كما يلي:
fs.write (FD ، Buffer ، Offset ، Length [، position] ، [Callback (err ، byteswritten ، buffer)])
fs.write (FD ، Data [، position [، encoding]] ، [Callback (err ، wrack ، string)]))
نظرًا لأن هذه الطريقة تنتمي إلى وحدة FS ، فمن الضروري تقديم وحدة FS قبل الاستخدام (var fs = require ("fs"))
تلقي المعلمات:
واصف ملف FD.
المخزن المؤقت ، سيتم كتابة البيانات. يفضل أن يكون إعداد حجم المخزن المؤقت مضاعفًا من 8 ، وهو أكثر كفاءة.
إزاحة اكتب لإزاحة المخزن المؤقت
الطول (عدد صحيح) يحدد طول بايت قراءة الملف
الموضع (عدد صحيح) يحدد موضع البداية لقراءة الملف. إذا كان هذا العنصر فارغًا ، فسيتم قراءة البيانات من موضع مؤشر الملف الحالي.
يمر رد الاتصال بثلاث معلمات ، err ، bytesread ، و buffer
・ استثناء خطأ
bytesread: عدد البايتات قراءة
・ المخزن المؤقت: كائن عازلة
النموذج الثاني:
تشفير حرف الترميز
أتصل مرة أخرى
・ استثناء خطأ
・ تحدد عدد الأحرف التي سيتم كتابتها إلى الملف.
・ سلسلة عازلة العازلة
مثال:
نسخة الكود كما يلي:
//fs.write(fd ، buffer ، الإزاحة ، الطول [، الموضع] ، [رد الاتصال (err ، byteswritten ، buffer)]))
// نتيجة التنفيذ: byteswritten = 8 ، buffer = <buffer 00 00 00 01 00 00 00>
var fs = require ('fs') ؛
fs.open ('content.txt' ، 'a' ، function (err ، fd) {
إذا (خطأ) {
رمي الخطأ
}
var data = '123123123 Hello World' ؛
var buf = New Buffer (8) ؛
fs.write (fd ، buf ، 0 ، 8 ، 0 ، function (err ، byteswritten ، buffer) {
إذا (خطأ) {
رمي الخطأ
}
console.log (byteswritten) ؛
console.log (المخزن المؤقت) ؛
fs.close (fd ، function (err) {
إذا (خطأ) {
رمي الخطأ
}
console.log ('ملف مغلق') ؛
})
})
})
//fs.write(fd ، data [، position [، encoding]] ، [callback (err ، croot ، string)]))
// نتيجة التنفيذ: مكتوبة = 21 ، سلسلة = <Buffer 31 32 33 31 32 33 31 32 33 20 68 6c 6c 6f 20 77 BF 72 6C 64>
var fs = require ('fs') ؛
fs.open ('content.txt' ، 'a' ، function (err ، fd) {
إذا (خطأ) {
رمي الخطأ
}
var data = '123123123 Hello World' ؛
fs.write (FD ، Data ، 0 ، 'Utf-8' ، function (err ، strake ، string) {
إذا (خطأ) {
رمي الخطأ
}
console.log (Writeten) ؛
console.log (سلسلة) ؛
fs.close (fd ، function (err) {
إذا (خطأ) {
رمي الخطأ
}
console.log ('ملف مغلق') ؛
})
})
})
رمز المصدر:
نسخة الكود كما يلي:
// الاستخدام:
// fs.write (FD ، Buffer ، Offset ، Engle [، position] ، Callback) ؛
// أو
// fs.write (fd ، string [، position [، envoding]] ، callback) ؛
fs.write = function (fd ، buffer ، الإزاحة ، الطول ، الموضع ، رد الاتصال) {
if (util.isbuffer (buffer)) {
// إذا لم يتم تمرير أي موقف ، فافترض NULL
if (util.isfunction (موضع)) {
رد الاتصال = الموضع ؛
الموقف = فارغ ؛
}
Callback = maybecallback (رد الاتصال) ؛
var wrapper = function (err ، wrack) {
// احتفظ بالإشارة إلى المخزن المؤقت بحيث لا يمكن أن يتم Gc'ed في وقت مبكر جدًا.
رد الاتصال (خطأ ، مكتوب || 0 ، العازلة) ؛
} ؛
إرجاع binding.writeBuffer (FD ، المخزن المؤقت ، الإزاحة ، الطول ، الموضع ، الغلاف) ؛
}
إذا (util.isstring (عازلة))
العازلة += '' ؛
if (! util.isfunction (الموضع)) {
if (util.ispunction (إزاحة)) {
الموضع = الإزاحة ؛
إزاحة = فارغة ؛
} آخر {
الموضع = الطول ؛
}
طول = 'Utf8' ؛
}
رد الاتصال = maybecallback (الموضع) ؛
الموضع = وظيفة (خطأ ، مكتوب) {
// الاحتفاظ بالإشارة إلى السلسلة في حال كانت خارجية
رد الاتصال (خطأ ، مكتوب || 0 ، العازلة) ؛
} ؛
إرجاع binding.writeString (FD ، المخزن المؤقت ، الإزاحة ، الطول ، الموضع) ؛
} ؛