Como interagir com descritores de arquivos em Node.js?

Como Interagir Com Descritores De Arquivos Em Node Js



No Node.js, o “ descritor de arquivo ”É simplesmente um índice inteiro não negativo na tabela do descritor de arquivo. A tabela do descritor de arquivo é uma matriz dentro do “ PCB (Bloco de Controle de Processo) ”que mantém os registros de todos os processos de um sistema operacional. Ele atua como referência de um arquivo aberto que é usado para identificar ou acessar facilmente um arquivo aberto em um sistema operacional. Assim que o arquivo aberto for acessado através do “ descritor de arquivo ”então o usuário pode realizar a operação desejada nele de acordo com os requisitos.

Este artigo mostrará como o usuário pode interagir com os descritores de arquivo em Node.js.







Como interagir com descritores de arquivo em Node.js?

O usuário pode interagir com os descritores de arquivos de forma a recuperá-los com a ajuda dos métodos predefinidos abaixo indicados do “ fs ”módulo:



Vamos elaborar esses métodos um por um.



Método 1: use “fs.open()” para obter um descritor de arquivo

O ' fs.open ()” é o método mais comumente usado do “ fs ”Módulo que abre o arquivo de forma assíncrona para realizar diversas operações como leitura, gravação, renomeação, atualização e exclusão. Além disso, também retorna um “ descritor de arquivo ”Depois de realizar a operação definida no arquivo aberto por meio da função de retorno de chamada.





Sintaxe

A sintaxe básica do “ fs.open ()” o método está escrito abaixo:

fs. abrir ( nome do arquivo , bandeiras , modo , ligar de volta )

De acordo com a sintaxe declarada acima, o “ fs.open ()” suporta os seguintes parâmetros:



  • nome do arquivo : especifica o nome e também o caminho do arquivo específico que o usuário deseja abrir.
  • bandeiras : denota as operações que serão realizadas no arquivo aberto. Seu valor padrão é “r(read)” por padrão.
  • modo : Indica as permissões do arquivo que é “ 0o666 (legível e gravável) ' por padrão.
  • ligar de volta : É executado após a conclusão do “ fs.open ()” método. Apoia o “ errar ”parâmetro que gera um erro se ocorrer durante a execução do método e o 'dados' parâmetro que retorna o “ fd(descritor de arquivo) ”Para acessar o arquivo aberto.

Valor de retorno: O ' fs.open() ”fornece um descritor de arquivo como valor retornado.

Diferentes sinalizadores disponíveis usados ​​junto com descritores de arquivo em Node.js

Todos os tipos de bandeiras que o “ fs.open() ”Os suportes do método para executar as operações desejadas no arquivo aberto estão listados abaixo:

Bandeiras Descrição
Em É utilizado para escrever o conteúdo em um arquivo aberto, sem apresentá-lo será criado um novo arquivo.
c+ É usado para abrir o arquivo para realizar operações de leitura e gravação nele.
wx Funciona da mesma forma que “ Em ”. Entretanto, ele não cria o arquivo especificado se ele não estiver presente no sistema de arquivos.
wx+ É o mesmo que “ c+ ”No entanto, ele falhará se o arquivo não existir.
R Ele abre o arquivo para lê-lo e também cria um novo arquivo se ele não estiver presente.
r+ Ele abre o arquivo em modo legível e gravável.
rs+ Ele abre um arquivo de forma síncrona para realizar as tarefas de leitura e escrita nele.
a Ele abre o arquivo para anexar seu conteúdo.
um+ Ele abre o arquivo para leitura e acréscimo de seu conteúdo.
machado É o mesmo que “ a ” mas não cria um novo arquivo se não for recente no sistema de arquivos.
machado+ Funciona da mesma forma que “ um+ ”No entanto, não cria um novo arquivo.

Depois de obter o básico do “ fs.open ()”, vamos prosseguir para sua implementação prática para obter o descritor de arquivo.

Exemplo: aplicando o método “fs.open()” para obter o descritor de arquivo com sinalizador padrão

Este exemplo mostra aplica o “fs.abrir()” método para abrir o arquivo especificado para leitura e retornar o descritor de arquivo:

const fs = exigir ( 'fs' ) ;
era resolução = fs. abrir ( 'arquivo.txt' , 'r' , função ( errar , fd ) {
se ( errar ) {
console. erro ( errar ) ;
} outro {
console. registro ( 'Arquivo aberto!' ) ;
console. registro ( fd ) ; }
} ) ;

A explicação do bloco de código acima é a seguinte:

  • Em primeiro lugar, o “ exigir ()” importa o método “ fs (sistema de arquivos) ”módulo.
  • A seguir, o “ fs.open ()” método especifica o nome da pasta desejada, sinalizador padrão “ R ”, e uma função de retorno de chamada como primeiro, segundo e terceiro argumentos, respectivamente. A função de retorno de chamada passa ainda o “ errar ' e a ' fd ” argumentos. Este método abre o arquivo especificado para leitura e, em seguida, executa a função de retorno de chamada fornecida.
  • Na definição da função de retorno de chamada, um “ se ”A instrução usa o“ console.error() ”Método para exibir a mensagem de erro que ocorre ao abrir o arquivo especificado.
  • Se nenhum erro ocorrer, então o “ outro ” será executada a instrução que utiliza o “ console.log ()” para exibir a mensagem de verificação e o “descritor de arquivo” indicado por “ fd ”Argumento.

Saída

Agora, realiza a execução para conter “ aplicativo .js” por meio de:

aplicativo de nó. js

A saída abaixo mostra que o arquivo está aberto para leitura e também retorna o descritor do arquivo:

Método 2: Use “fs.openSync()” para obter um descritor de arquivo

O ' fs.openSync ()” é o método pré-definido do “ fs ”Módulo que abre o arquivo de forma síncrona para realizar operações comuns: como ler, escrever, renomear, atualizar e excluí-lo. Junto com sua funcionalidade básica, este método retorna um “ descritor de arquivo ”Diretamente em vez de invocar a função de retorno de chamada como no“ fs.open ()” método.

Sintaxe

fs. openSync ( caminho , bandeiras , modo )

Os parâmetros usados ​​acima “ fs.openSync() ”O método é explicado abaixo:

  • caminho : especifica o nome e o caminho do arquivo específico na forma de uma string, URL ou buffer.
  • bandeiras : denota a string ou valor numérico que especifica as operações que serão executadas no arquivo aberto. Seu valor padrão é “r(read)” por padrão.
  • modo : Denota as permissões do arquivo que é “ 0o666 (legível e gravável) ' por padrão.

Valor de retorno: O ' fs.openSync() ”Fornece um número inteiro como valor retornado que denota o descritor de arquivo.

Siga nosso guia detalhado sobre “ Método fs.openSync() ”Para implementação prática.

Método 3: use “fsPromise.open()” para obter um descritor de arquivo

O ' fsPromises.open() ”É o método predefinido do“ fs ”Módulo que abre o arquivo de forma assíncrona como uma promessa e retorna um“ descritor de arquivo ”. Se a promessa for resolvida, ele verifica se a pasta especificada está aberta, caso contrário, será rejeitada com um objeto de erro.

Sintaxe

fsPromessas. abrir ( nome do arquivo , bandeiras , modo )

O ' fsPromises.open ()” funciona nos três parâmetros a seguir:

  • nome do arquivo : informa o nome do arquivo específico e o caminho na forma de uma string, URL ou buffer que o usuário deseja ler por padrão.
  • bandeiras : pode ser uma string ou um valor inteiro não negativo que especifica as operações a serem executadas no arquivo aberto. Seu valor padrão é “r(read)” por padrão.
  • modo : especifica as permissões do arquivo que são “ 0o666 (legível e gravável) ' por padrão.

Valor de retorno: Dá um “ promessa ”Como um valor retornado de“ fsPromises.open ()” método.

Siga nosso guia detalhado sobre “ Método fsPromises.open() ”Para implementação prática.

Quais operações diferentes podem ser realizadas com descritores de arquivo em Node.js?

Depois que o descritor de arquivo é recuperado, o usuário pode usá-lo para acessar aquele arquivo específico para realizar diferentes operações nele, como abrir, fechar, ler, escrever e muito mais. Para realizar essas operações específicas, siga nosso guia detalhado em “ Módulo do sistema de arquivos ”.

Trata-se de interagir com os descritores de arquivo no Node.js.

Conclusão

Para interagir com os descritores de arquivo, use o “ fs.open()”, “fs.openSync() ', ou o ' fsPromises.open() ”Método em Node.js. Todos esses métodos abrem o arquivo para realizar diferentes operações nele especificadas por meio do “ bandeira ”E também retornar o“ descritor de arquivo ” que é a referência do arquivo aberto. Este artigo elaborou como interagir com os descritores de arquivo em Node.js.