import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Main {
private static final Logger logger = Logger.getLogger(Main.class.getName());
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ViaCepService viaCepService = new ViaCepService();
System.out.println("Informe o CEP para busca:");
String cep = scanner.nextLine();
try {
Endereco endereco = viaCepService.buscarEnderecoPorCep(cep);
if (endereco.getCep() != null) {
System.out.println("Endereço encontrado:");
System.out.println("CEP: " + endereco.getCep());
System.out.println("Logradouro: " + endereco.getLogradouro());
System.out.println("Complemento: " + endereco.getComplemento());
System.out.println("Bairro: " + endereco.getBairro());
System.out.println("Localidade: " + endereco.getLocalidade());
System.out.println("UF: " + endereco.getUf());
System.out.println("IBGE: " + endereco.getIbge());
System.out.println("DDD: " + endereco.getDdd());
System.out.println("SIAFI: " + endereco.getSiafi());
GeradorDeArquivo.gerarArquivoJson(endereco, "endereco.json");
} else {
System.out.println("CEP não encontrado.");
}
} catch (Exception e) {
logger.log(Level.SEVERE, "Erro ao buscar o CEP.", e);
}
}
}
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class ViaCepService {
public Endereco buscarEnderecoPorCep(String cep) throws Exception {
String urlParaChamada = "https://viacep.com.br/ws/" + cep + "/json/";
URL url = new URL(urlParaChamada);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "application/json");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
connection.disconnect();
return new Gson().fromJson(content.toString(), Endereco.class);
}
}
public class Endereco {
private String cep;
private String logradouro;
private String complemento;
private String bairro;
private String localidade;
private String uf;
private String ibge;
private String ddd;
private String siafi;
public String getCep() { return cep; }
public void setCep(String cep) { this.cep = cep; }
public String getLogradouro() { return logradouro; }
public void setLogradouro(String logradouro) { this.logradouro = logradouro; }
public String getComplemento() { return complemento; }
public void setComplemento(String complemento) { this.complemento = complemento; }
public String getBairro() { return bairro; }
public void setBairro(String bairro) { this.bairro = bairro; }
public String getLocalidade() { return localidade; }
public void setLocalidade(String localidade) { this.localidade = localidade; }
public String getUf() { return uf; }
public void setUf(String uf) { this.uf = uf; }
public String getGia() { return gia; }
public void setGia(String gia) { this.gia = gia; }
public String getDdd() { return ddd; }
public void setDdd(String ddd) { this.ddd = ddd; }
public String getSiafi() { return siafi; }
public void setSiafi(String siafi) { this.siafi = siafi; }
}
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.FileWriter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class GeradorDeArquivo {
private static final Logger logger = Logger.getLogger(GeradorDeArquivo.class.getName());
public static void gerarArquivoJson(Endereco endereco, String nomeArquivo) {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
try (FileWriter writer = new FileWriter(nomeArquivo)) {
gson.toJson(endereco, writer);
System.out.println("Dados salvos no arquivo " + nomeArquivo);
} catch (IOException e) {
logger.log(Level.SEVERE, "Erro ao escrever no arquivo " + nomeArquivo, e);
}
}
}