Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
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.js

Quantidade de visualizações: 4311 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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// precisamos importar o módulo File System
var fs = require('fs');

// nome e caminho do arquivo a ser lido
var arquivo = 'C:\\estudos_nodejs\\texto.txt';

// guardamos o conteúdo do arquivo
var conteudo = fs.readFileSync(arquivo);

// e o exibimos em seguida
console.log('Conteúdo do arquivo:\n\n' + conteudo);

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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// precisamos importar o módulo File System
var fs = require('fs');

// nome e caminho do arquivo a ser lido
var arquivo = 'C:\\estudos_nodejs\\texto.txt';

// lemos o conteúdo do arquivo e o guardamos
// na variável conteudo (de forma assíncrona)
fs.readFile(arquivo, (erro, conteudo) => {
  if(erro){ 
	throw "Ops, aconteceu um erro: " + erro;
  }
  else{   
    console.log("Conteúdo do arquivo\n\n:" + conteudo);
  }
});

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.

Link para compartilhar na Internet ou com seus amigos:

Node.js ::: Express.js ::: Passos Iniciais

Node.js Express.js - Como escrever sua primeira aplicação Express.js

Quantidade de visualizações: 1933 vezes
Se você chegou até esta página vindo(a) de um sistema de busca tal como o Google, saiba que o Express.js é um framework web baseado no núcleo do Node.js, ou seja, antes de experimentar o exemplo abaixo, você deve ter uma instalação funcional do Node.js na sua máquina. Além disso, o módulo express deve estar instalado também, e 100% operacional.

No entanto, se sua instalação do Node.js ainda não tem o express, basta entrar no diretório que você instalou o Node.js e disparar o comando a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

npm install express

Verifique se a instalação foi feita com sucesso e vamos continuar.

Este exemplo é bem simples e requer apenas um arquivo. Para tanto, abra o seu editor de código favorito e digite a listagem abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// vamos importar o módulo express
var express = require('express');
// o servidor vai ouvir na porta 8081
var porta = 8081;
var app = express();

// o asterisco (*) quer dizer que todas as requisições vão cair aqui
app.get('*', function(request, response){
  response.end('Tamo juntos!');
});

app.listen(porta, function(){
  console.log('O servidor está ouvindo em http://localhost:%s', porta);
});

Salve o arquivo como servidor.js e execute o Node.js. Em seguida abra o seu navegador web no endereço http://localhost:8081 e veja o resultado.

Agora não deixe de ver nossas outras dicas de Node.js e aprender cada vez mais.


Node.js ::: Dicas & Truques ::: Arquivos e Diretórios

Como obter o diretório de instalação do Node.js - O diretório de trabalho do Node.js

Quantidade de visualizações: 1971 vezes
Em algumas situações nós gostaríamos de obter o diretório de instalação, ou diretório de trabalho do Node.js. Isso pode ser feito por meio da variável __dirname ou da função cwd() do objeto process. Tanto a variável quanto a função process.cwd() fazem parte do core do Node.js e não precisam ser importados.

Veja abaixo um exemplo de um aplicação funcional que mostra o nome do diretório de trabalho:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// importamos o módulo HTTP
var http = require("http");
  
http.createServer(function(request, response){
  // Aqui nós enviamos o cabeçalho HTTP, com a resposta
  // 200 (OK) e o content type text/plain
  response.writeHead(200, {'Content-Type': 'text/plain'});
      
  // Vamos obter e mostrar o diretório de trabalho do Node.js
  var diretorio = __dirname;
  // poderíamos também usar
  // var diretorio = process.cwd();
  response.write('O diretório de trabalho é: ' + diretorio + '\n');
  // fechamos a resposta HTTP
  response.end();
}).listen(8081); // o HTTP server vai ouvir na posta 8081
   
// Que tal uma mensagem no console?
console.log('O servidor está ouvindo em http://127.0.0.1:8081/');

Depois de executar o servidor, abra seu navegador no endereço http://127.0.0.1:8081 e você terá o seguinte resultado:

O diretório de trabalho é: c:\estudos_nodejs


Node.js ::: Node.js + MongoDB ::: Passos Iniciais

Node.js MongoDB - Como instalar o driver do MongoDB no Node.js e efetuar uma conexão Node.js + MongoDB

Quantidade de visualizações: 1315 vezes
Assumindo que você já conhece o banco de dados MongoDB, já fez sua instalação e já está um pouco familiarizado com suas características, nesta dica mostrarei como podemos efetuar uma conexão Node.js + MongoDB. Este é o passo inicial para desenvolver aplicações MEAN (Mongo, Express, Angular, Node) ou MERN (Mongo, Express, React, Node).

Note que, nessa dica, usarei apenas o MongoClient para efetuar a conexão com o banco de dados MongoDB. Em outras dicas eu abordo o Mongoose.

Então vamos iniciar. A primeira coisa que temos que fazer é instalar o driver MongoDB. Assim, com o Node.js devidamente instalado e funcionando, e com o banco MongoDB em perfeito funcionamento também, abra uma janela de terminal e digite o comando:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

npm install mongodb

Após alguns minutos, a instalação será concluída e teremos o seguinte resultado:

+ mongodb@3.6.4
added 17 packages from 9 contributors and audited 20 packages in 9.358s

1 package is looking for funding
run `npm fund` for details

found 0 vulnerabilities

Agora já podemos escrever o código que efetua a conexão Node.js com o MongoDB. Abra o seu editor de códigos favorito e digite a listagem abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// vamos obter uma referência ao MongoClient
var MongoClient = require('mongodb').MongoClient;

// vamos nos conectar à base de dados escola
var url = 'mongodb://localhost:27017/escola';

// Vamos nos conectar ao servidor e base de dados. Atenção: Em caso de erro, a
// função pode demorar a retornar, pois o Node.js pode pensar que é lentidão
// na rede
MongoClient.connect(url, {useUnifiedTopology: true}, function(err, db) {
  if(err){
    console.log("Não foi possível efetuar a conexão. Erro: " + err); 
  }
  else{
    console.log("Conexão efetuada com sucesso.");
  }
  
  // finalmente vamos fechar a conexao
  if(db){
    db.close();
  }
});

Salve este código como conexao.js e execute-o no Node.js (com o MongoDB rodando, é claro) com o seguinte comando:

c:\estudos_nodejs>node conexao.js

Se tudo correr bem você verá a mensagem:

Conexão efetuada com sucesso.

Veja que, nesse código, eu efetuei uma conexão com a base de dados escola. Se a porta e o servidor estiverem corretos (talvez você tenha que informar um usuário e senha também), a conexão será efetuada com sucesso mesmo que a base de dados não exista.

Quando informamos uma base de dados inexistente, o MongoDB entende que queremos criá-la, mas ele só a cria de fato, quando solicitamos a criação de uma nova coleção. Em mais dicas dessa seção você aprenderá como criar coleções no MongoDB a partir de seus códigos Node.js. Até lá e bons estudos.


Vamos testar seus conhecimentos em

Vigas a flexão simples: seções retangulares

Além da preocupação com segurança e economia, o projetista estrutural precisa também se preocupar com a execução da obra. Vigas super armadas dificultam a concretagem, podendo resultar nos vazios do concreto, popularmente chamadas de bicheiras.

Tendo isso em mente, qual é a largura mínima para uma viga com 3 barras de 16mm de armadura principal, dispostas na mesma camada, e estribo de 6,3mm? Considere que não há parede apoiada sobre a viga, a agressividade ambiental é classe III e o concreto tem brita 1.

A) 12cm.

B) 14cm.

C) 19cm.

D) 15cm.

E) 20cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual das formas abaixo é usada para criar um SET em Python?

A) valores = set{3, 6, 1, 7, 6, 3}

B) valores = (3, 6, 1, 7, 6, 3)

C) valores = [3, 6, 1, 7, 6, 3]

D) valores = {3, 6, 1, 7, 6, 3}

E) valores = set(3, 6, 1, 7, 6, 3)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Raio Hidráulico

Ano: 2019 Banca: Instituto Consulplan Órgão: Prefeitura de Pitangueiras - SP Prova: Instituto Consulplan - 2019 - Prefeitura de Pitangueiras - SP - Engenheiro Civil

O Raio Hidráulico é a relação entre a área molhada e o perímetro molhado, sendo parâmetro importante no dimensionamento de canais, tubos, dutos e outros componentes das obras hidráulicas. Sua unidade no SI é o metro (m2/m = m). Na figura é ilustrado um canal trapezoidal aberto (figura A), e à sua direita (figura B) as dimensões de sua seção transversal em um determinado trecho do seu percurso.



Para a seção transversal do canal, assinale, a seguir, o valor do raio hidráulico.

A) 0,26 m.

B) 0,47 m.

C) 1,26 m.

D) 2,12 m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Fórmula de Manning

Galerias subterrâneas de águas pluviais escoam todo o volume de chuvas que os bueiros conseguem drenar. São importantes para a drenagem de grandes centro. Isso porque, servem para evitar alagamentos e outros prejuízos sociais, ambientais e econômicos.

Para uma galeria de águas pluviais construída em concreto, com n igual 0,013, diâmetro de 85cm, declividade de fundo (S0) de 30cm/km, transportando 550l/s em regime permanente e uniforme, determine:

Qual altura da lâmina d'água pluvial que a galeria apresentará nessas condições?

A) 80cm.

B) 53cm.

C) 60cm.

D) 45cm.

E) 69cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares de canto

A determinação do momento atuante em um pilar de canto é um dos pontos principais no dimensionamento de armaduras.

Analise o pilar do exemplo a seguir:​​​​​​​



Qual o valor do momento total na direção mais crítica?

A) Md, total,x = 3.500KN.cm.

B) Md, total,x = 7.352,84KN.cm.

C) Md, total,x = 5.012KN.cm.

D) Md, total,x = 1.569KN.cm.

E) Md, total,x = 2.569KN.cm.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de Node.js

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 20 usuários muito felizes estudando em nosso site.