Descrição do método:
Escrevendo em um arquivo (de acordo com os descritores de arquivos), a função é semelhante à fs.WriteFile (), mas esse método fornece uma operação mais subjacente. Recomenda -se usar vários fs.WriteFile () em aplicativos reais.
Este método vem de duas formas:
1. Fs.Write (FD, Buffer, Offset, Comprimento [, Posição], [Retorno de chamada (Err, BytesWritten, Buffer)]))
Essa maneira de escrever grava o buffer em um arquivo (encontre o arquivo de acordo com o descritor de arquivo FD).
2. F.Write (FD, Data [, Posição [, Encoding]], [Retorno de chamada (Err, escrito, String)])))
Essa maneira de escrever grava dados em um arquivo (encontre o arquivo de acordo com o descritor de arquivo FD). Se os dados não forem um valor de instância de um buffer, ele será lançado em uma string.
gramática:
A cópia do código é a seguinte:
fs.write (fd, buffer, deslocamento, comprimento [, posição], [retorno de chamada (err, bytesWritten, buffer)]))
fs.write (fd, dados [, posição [, codificação]], [retorno de chamada (err, escrito, string)])
Como esse método pertence ao módulo FS, é necessário introduzir o módulo FS antes do uso (var fs = requer ("fs")))
Receber parâmetros:
Descritor de arquivo FD.
Buffer, os dados serão gravados. A configuração do tamanho do buffer é de preferência múltipla de 8, o que é mais eficiente.
Offset Write para Offset Buffer
comprimento (número inteiro) especifica o comprimento dos bytes de leitura do arquivo
Posição (Inteiro) Especifica a posição inicial para a leitura do arquivo. Se este item for nulo, os dados serão lidos na posição do ponteiro atual do arquivo.
O retorno de chamada passa três parâmetros, err, bytesread e buffer
・ Error Exception
・ BytesRead: O número de bytes lido
・ Buffer: objeto de buffer
O segundo formulário:
codificação de caráter codificando
ligar de volta
・ Error Exception
・ Escrito especifica quantos caracteres serão gravados no arquivo.
・ String retornou buffer
exemplo:
A cópia do código é a seguinte:
//fs.write(fd, buffer, deslocamento, comprimento [, posição], [retorno de chamada (err, bytesWritten, buffer)]))
// Resultado da execução: bytesWritten = 8, buffer = <buffer 00 00 00 01 00 00 00 00>
var fs = requer ('fs');
fs.open ('content.txt', 'a', função (err, fd) {
if (err) {
lança err;
}
var dados = '123123123 Hello World';
var BUF = novo buffer (8);
fs.write (fd, buf, 0, 8, 0, função (err, bytesWritten, buffer) {
if (err) {
lança err;
}
console.log (bytesWritten);
console.log (buffer);
fs.close (fd, função (err) {
if (err) {
lança err;
}
console.log ('arquivo fechado');
})
})
})
//fs.write(fd, dados [, posição [, codificação]], [retorno de chamada (err, escrito, string)])))
// Resultado da execução: escrito = 21, string = <buffer 31 32 33 31 32 33 31 32 33 20 68 65 6c 6c 6f 20 77 bf 72 6c 64>
var fs = requer ('fs');
fs.open ('content.txt', 'a', função (err, fd) {
if (err) {
lança err;
}
var dados = '123123123 Hello World';
fs.write (fd, dados, 0, 'utf-8', function (err, escrito, string) {
if (err) {
lança err;
}
console.log (WritEten);
console.log (string);
fs.close (fd, função (err) {
if (err) {
lança err;
}
console.log ('arquivo fechado');
})
})
})
Código -fonte:
A cópia do código é a seguinte:
// Uso:
// fs.write (fd, buffer, deslocamento, comprimento [, posição], retorno de chamada);
// OU
// fs.write (fd, string [, posição [, codificação]], retorno de chamada);
fs.write = function (fd, buffer, deslocamento, comprimento, posição, retorno de chamada) {
if (util.isbuffer (buffer)) {
// Se nenhuma posição for passada, assuma -se nulo
if (util.isfunction (posição)) {
retorno de chamada = posição;
posição = nulo;
}
retorno de chamada = maybecallback (retorno de chamada);
var wrapper = function (err, escrito) {
// Mantei uma referência ao buffer para que não possa ser GC'ed muito cedo.
retorno de chamada (err, escrito || 0, buffer);
};
return binding.writebuffer (fd, buffer, deslocamento, comprimento, posição, invólucro);
}
if (util.isstring (buffer))
buffer += '';
if (! Util.isfunction (posição)) {
if (util.isfunction (deslocamento)) {
posição = deslocamento;
deslocamento = nulo;
} outro {
posição = comprimento;
}
comprimento = 'utf8';
}
retorno de chamada = maybecallback (posição);
posição = function (err, escrito) {
// mantém referência à string, caso seja externo
retorno de chamada (err, escrito || 0, buffer);
};
retornar a ligação.writestring (fd, buffer, deslocamento, comprimento, posição);
};