Exercício adicional 28/08 - Arquivos

Ir em baixo

Exercício adicional 28/08 - Arquivos

Mensagem por Admin em Seg Set 02, 2013 12:45 pm

GeradorDeArquivo.java
Código:

package br.gov.geracaotecsc.controlesolic;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class GeradorDeArquivo {
   
   public void graveArquivo(Solicitacao solicitacao) {
      try {
         File f = new File("c:\\temp\\resultadoSolicitacao-" + solicitacao.getNomeSolicitante() + ".txt");
         PrintWriter arquivoWriter = new PrintWriter(f);

         escrevaSaudacao(solicitacao, arquivoWriter);
         arquivoWriter.println();
         arquivoWriter.println(solicitacao.getMensagem());      
         arquivoWriter.println();
         escrevaDescricao(solicitacao, arquivoWriter);
         arquivoWriter.println();
         escrevaEncerramento(arquivoWriter);
         arquivoWriter.close();
         
         System.out.println("O arquivo foi gerado com sucesso!");
      } catch (FileNotFoundException e) {
         System.err.println("Ocorreu um erro ao gerar o arquivo. Detalhes do erro: ");
         e.printStackTrace();
      }            
   }

   private void escrevaEncerramento(PrintWriter arquivoWriter) {
      arquivoWriter.println("Atenciosamente,");
      arquivoWriter.println("Geração TEC");
   }

   private void escrevaDescricao(Solicitacao solicitacao,
         PrintWriter arquivoWriter) {
      arquivoWriter.println(
            "A descrição da sua solicitação " +
            "foi a seguinte:");
      arquivoWriter.println();
      arquivoWriter.println("\"" + solicitacao.getDescricao() + "\"");
   }


   private void escrevaSaudacao(Solicitacao solicitacao,
         PrintWriter arquivoWriter) {
      arquivoWriter.println(solicitacao.getSaudacao());
   }
   
   public static void main(String[] args) {
      GeradorDeArquivo gerador = new GeradorDeArquivo();
      GeradorArquivoConsoleUI ui = new GeradorArquivoConsoleUI();

      Solicitacao solicitacao = ui.soliciteDadosSolicitacao();
      gerador.graveArquivo(solicitacao);
   }   
}
GeradorArquivoConsoleUI.java
Código:

package br.gov.geracaotecsc.controlesolic;

import java.util.Scanner;

public class GeradorArquivoConsoleUI {
   private Scanner scanner;

   public GeradorArquivoConsoleUI() {
      scanner = new Scanner(System.in);
   }

   public Solicitacao soliciteDadosSolicitacao() {
      String nome = facaPergunta("Digite o nome do solicitante: ");
      String sexo = facaPergunta("Digite o sexo do solicitante: ");
      String descricao = facaPergunta("Digite a descrição da solicitação: ");
      String data = facaPergunta("Digite a data da solicitação: ");
      boolean atendida = facaPerguntaBoolean("A solicitação foi aceita? (S/N)");
      
      return new Solicitacao(
            nome, sexo, descricao, data, atendida);
   }

   public String facaPergunta(String pergunta) {
      System.out.println(pergunta);
      String resposta = scanner.next();
      return resposta;
   }
   
   public boolean facaPerguntaBoolean(String pergunta) {
      String respostaStr = facaPergunta(pergunta);
      while (!"s".equalsIgnoreCase(respostaStr) && !"n".equalsIgnoreCase(respostaStr)) {
         System.out.println("Valor invalido!");
         respostaStr = facaPergunta(pergunta);
      }
      
      if ("s".equalsIgnoreCase(respostaStr)) {
         return true;         
      } else {         
         return false;         
      }      
   }

}
Solicitacao.java
Código:

package br.gov.geracaotecsc.controlesolic;

public class Solicitacao {
   private String nomeSolicitante;
   private String sexoSolicitante;
   private String descricao;
   private String data;
   private boolean atendida;
   
   public Solicitacao() {
      
   }
   
   //Source -> Generate constructors using fields
   public Solicitacao(String nomeSolicitante, String sexoSolicitante,
         String descricao, String data, boolean atendida) {
      this.nomeSolicitante = nomeSolicitante;
      this.sexoSolicitante = sexoSolicitante;
      this.descricao = descricao;
      this.data = data;
      this.atendida = atendida;
   }



   public String getNomeSolicitante() {
      return nomeSolicitante;
   }

   public void setNomeSolicitante(String nomeSolicitante) {
      this.nomeSolicitante = nomeSolicitante;
   }

   public String getSexoSolicitante() {
      return sexoSolicitante;
   }

   public void setSexoSolicitante(String sexoSolicitante) {
      this.sexoSolicitante = sexoSolicitante;
   }

   public String getDescricao() {
      return descricao;
   }

   public void setDescricao(String descricao) {
      this.descricao = descricao;
   }

   public String getData() {
      return data;
   }

   public void setData(String data) {
      this.data = data;
   }

   public boolean isAtendida() {
      return atendida;
   }

   public void setAtendida(boolean atendida) {
      this.atendida = atendida;
   }

   public String getMensagem() {
      if (isAtendida()) {
         return
               "Temos o prazer de informar que " +
               "sua solicitação realizada em " +
               getData() +
               " foi atendida com sucesso.";
      } else {
         return
               "Informamos que, infelizmente, sua " +
               "solicitação realizada em " +
               getData() +
               " não pode ser atendida.";
      }
   }
   
   public String getSaudacao() {
      if ("m".equalsIgnoreCase(getSexoSolicitante())) {
         return "Prezado Sr. " + nomeSolicitante;
      } else {
         return "Prezada Sra. " + nomeSolicitante;      
      }
   }
}

Admin
Admin

Mensagens : 123
Data de inscrição : 01/07/2013

Ver perfil do usuário http://geracaotecjava.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum