Como usar fs.openSync() em Node.js?

Como Usar Fs Opensync Em Node Js



Node.js “ módulo ”O sistema é um pedaço de código JavaScript reutilizável. É o alicerce da aplicação Node.js que permite aos desenvolvedores estruturar melhor, aumentar a velocidade de trabalho e reutilizar o código sempre que necessário. É categorizado em três categorias principais: módulos “integrados”, “locais” e “de terceiros”.

Na grande variedade de seus módulos integrados, o “ fs(sistema de arquivos) ”O módulo lida com arquivos do sistema operacional de forma a acessá-los para lê-los, gravá-los, excluí-los, atualizá-los e renomeá-los. Este módulo vem com muitos métodos úteis para executar essas tarefas específicas com base em seus nomes e funcionalidades, como o método “fs.open()” abre o arquivo de forma assíncrona, “fs.openSync()” abre o arquivo específico de forma síncrona e assim por diante .

Este artigo irá elaborar o uso do método “fs.openSync()” em Node.js.







Pré-requisitos: Antes de passar para a implementação prática de qualquer método, primeiro crie um “ .js ”Arquivo de qualquer nome e escreva todo o código-fonte nele. Neste cenário, criamos um “ index.js ' arquivo.



O que é “fs.openSync()” em Node.js?

O ' fs.openSync() ”É o método predefinido do módulo “fs” 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 método “fs.open()”.



O ' descritor de arquivo ”É simplesmente um índice inteiro não negativo na tabela do descritor de arquivo. Basicamente atua como referência para identificar facilmente um arquivo aberto em um sistema operacional. A tabela descritora de arquivos é um array dentro do “PCB (Process Control Block)” que mantém os registros de todos os processos de um sistema operacional.





Como usar fs.openSync() em Node.js?

Para usar o síncrono “ fs.openSync() ”Em Node.js, siga a sintaxe generalizada indicada abaixo:

fs. openSync ( caminho, bandeiras, modo )

Os parâmetros usados ​​no método “fs.openSync()” acima são explicados abaixo:



  • caminho: Ele 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 (ler)” por padrão.
  • modo: Ele 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 do arquivo.

Exemplo 1: Aplicando o método “fs.openSync()” com sinalizador padrão

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

const fs = exigir ( 'fs' ) ;

const nome do arquivo = './meuArquivo.txt' ;

const resolução = fs. openSync ( nome do arquivo, 'r' ) ;

console. registro ( resolução ) ;

A explicação das linhas de código acima é a seguinte:

  • Em primeiro lugar, o “ exigir() ”Inclui o módulo “fs” no projeto Node.js atual.
  • A seguir, o “ nome do arquivo ”A variável especifica o caminho e o nome do arquivo desejado que o usuário deseja abrir para leitura.
  • Depois disso, a variável “res” utiliza o “ fs.openSync() ”Método que especifica a variável “filename” e o “ r(ler) ”sinalizador como seu primeiro e segundo argumentos, respectivamente.
  • Por último, o “ console.log() ”O método exibe a saída do“ resolução ' variável.

Saída

Execute o arquivo “index.js”:

índice do nó. js

A saída a seguir retorna o índice de arquivo especificado na tabela do descritor de arquivo:

Exemplo 2: Aplicando o método “fs.openSync()” para abrir um arquivo para gravação

Este exemplo mostra a implementação prática do método “fs.openSync()” para abrir o arquivo recém-criado e anexá-lo ao conteúdo especificado:

const fs = exigir ( 'fs' ) ;

const fd = fs. openSync ( './sampleFile.txt' , 'Em' , 0o666 ) ;

fs. escrever Sincronização ( fd, 'Bem-vindo ao Linuxhint!' ) ;

setTimeout ( função ( ) {

console. registro ( 'Arquivo fechado agora' ) ;

fs. fecharSincronização ( fd ) ;

} , 10.000 ) ;

console. registro ( 'Operação concluída!' ) ;

Nas linhas de código acima:

  • O ' fs.openSync() ”método especifica um arquivo específico“ caminho ',' w(escrever) ”sinalizador e o modo padrão“ 0o666 (permissões de leitura e gravação)” como seus argumentos. Este método abrirá o arquivo especificado para gravação. Se não existir, primeiro criará o arquivo fornecido.
  • O ' fs.writeSync() ”Método especifica o“ fd (descritor de arquivo)” e o “texto” fornecido que o usuário deseja escrever no arquivo especificado como seu primeiro e segundo parâmetros, respectivamente. Este método grava a instrução de texto citada no arquivo aberto.
  • O ' setTimeout() ”O método chama uma função na qual o método “console.log ()” exibe uma instrução de texto e o método “ fs.closeSync() ”O método fecha o arquivo aberto após o atraso de tempo especificado.
  • O último método “console.log()” mostra a mensagem de verificação.

Saída

Execute o arquivo “index.js”:

índice do nó. js

A saída abaixo mostra uma mensagem de verificação após concluir a operação especificada de maneira síncrona e fecha o arquivo aberto após o atraso determinado:

Para obter mais verificações, navegue na estrutura de pastas do projeto Node.js atual. A captura de tela abaixo verifica se o arquivo “sampleFile.txt” foi criado junto com o conteúdo especificado:

Trata-se de usar o método “fs.openSync()” em Node.js.

Conclusão

Para usar o “ fs.openSync() ”Método em Node.js, especifique o“ caminho de arquivo ', e a ' bandeira ”Como seus parâmetros obrigatórios. Este método primeiro abre o arquivo de forma síncrona e, em seguida, executa a operação especificada nele com base no sinalizador fornecido. O usuário pode realizar operações de leitura, gravação, exclusão e acréscimo no arquivo aberto. É usado principalmente para retornar um valor inteiro conhecido como “ descritor de arquivo ”. Este artigo elaborou o uso do método “fs.openSync()” em Node.js.