Você está aqui: Node.js ::: Dicas & Truques ::: Arquivos e Diretórios |
||
Como ler o conteúdo de arquivos usando as funções readFile() e readFileSync() do módulo File System (fs) do Node.jsQuantidade de visualizações: 4535 vezes |
||
O Node.js facilita muito o nosso trabalho quando o assunto é ler o conteúdo de um arquivo, seja um arquivo .txt, .html, .css, etc, até mesmo arquivos binários. O módulo File System, ou fs, nos fornece duas funções, a saber: readFile() e readFileSync(). A primeira nos permite ler o conteúdo do arquivo de forma assíncrona, enquanto a segunda permite a leitura de forma síncrona, ou seja, com bloqueio. Vamos começar com a função readFileSync(), por ser mais fácil de entender. Veja o trecho de código a seguir:
Ao executar este código nós teremos o seguinte resultado: c:\estudos_nodejs>node ler_arquivo.js Conteúdo do arquivo: Esta é a primeira linha do arquivo. Esta é a segunda linha do arquivo. E esta é a terceira linha do arquivo. É importante observar que uma chamada à função fs.readFileSync() bloqueia as demais instruções, ou seja, o código da aplicação fica congelado até que o conteúdo do arquivo seja carregado por completo na variável conteudo. Em aplicações console essa pode ser uma boa idéia, principalmente se as demais partes da aplicações dependerem do resultado dessa leitura. Note que uma chamada ao método fs.readFileSync() pode atirar uma exceção (erro) do tipo: Error: ENOENT: no such file or directory, open caso o arquivo não puder ser encontrado. Na dúvida é bom usar um bloco try...catch para evitar que sua aplicação morra antes da hora. A função readFile(), por sua vez, é assíncrona. Isso que dizer que, enquanto ela se encarrega de fazer a leitura do arquivo, as demais partes do código da aplicação continuarão sendo executadas. Por isso, devemos fornecer a ela uma função de callback. Veja o exemplo a seguir:
Ao executarmos este código nós teremos o mesmo resultado do código anterior, com a diferença de que a leitura agora ocorrerá de forma assícrona. Tenha cuidado com isso. Código assíncrono acessando variáveis externas pode ser um perigo. |
||
![]() |
||
Veja mais Dicas e truques de Node.js |
Dicas e truques de outras linguagens |
VB.NET - Como contar as ocorrências de um caractere em uma string em VB.NET usando o método IndexOf() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |