方法說明:
同步版的fs.writeFile() 。
語法:
代碼如下:
fs.writeFileSync(filename, data, [options])
由於該方法屬於fs模塊,使用前需要引入fs模塊(var fs= require(“fs”) )
接收參數:
filename (String) 文件名稱
data (String | Buffer) 將要寫入的內容,可以使字符串 或 buffer數據。
options (Object) option數組對象,包含:
· encoding (string) 可選值,默認 ‘utf8′,當data使buffer時,該值應該為 ignored。
· mode (Number) 文件讀寫權限,默認值 438
· flag (String) 默認值 ‘w'
例子:
代碼如下:
fs.writeFileSync('message.txt', 'Hello Node');
源碼:
代碼如下:
fs.writeFileSync = function(path, data, options) {
if (!options) {
options = { encoding: 'utf8', mode: 438 /*=0666*/, flag: 'w' };
} else if (util.isString(options)) {
options = { encoding: options, mode: 438, flag: 'w' };
} else if (!util.isObject(options)) {
throw new TypeError('Bad arguments');
}
assertEncoding(options.encoding);
var flag = options.flag || 'w';
var fd = fs.openSync(path, flag, options.mode);
if (!util.isBuffer(data)) {
data = new Buffer('' + data, options.encoding || 'utf8');
}
var written = 0;
var length = data.length;
var position = /a/.test(flag) ? null : 0;
try {
while (written < length) {
written += fs.writeSync(fd, data, written, length - written, position);
position += written;
}
} finally {
fs.closeSync(fd);
}
};