import com.mysql.jdbc.PreparedStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Consultor {
private String nome;
private String logradouro;
private String localizacao;
private String email;
private String telefone;
private String cep;
private static final String SQL_CADASTRAR_CONSULTOR = "INSERT INTO consultor (nome, logradouro, localizacao, telefone, email, cep)" +
"VALUES (?,?,?,?,?,?)";
public void cadastrar(){
PreparedStatement ps = null;
try {
Connection con = BancoDeDados.getConexao();
ps = (PreparedStatement) con.prepareStatement(SQL_CADASTRAR_CONSULTOR);
ps.setString(1, this.getNome());
ps.setString(2, this.getLogradouro());
ps.setString(3, this.getLocalizacao());
ps.setString(4, this.getTelefone());
ps.setString(5, this.getEmail());
ps.setString(6, this.getCep());
ps.executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(Consultor.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Arquivo {
/**
* Abre um arquivo e retorna uma string com seu conteudo
* @param arquivo
* @return
*/
public String abrir(String arquivo){
FileReader fileReader = null;
String str = "";
String conteudo = "";
try {
fileReader = new FileReader(arquivo);
BufferedReader bufferedReader = new BufferedReader(fileReader);
while ((str = bufferedReader.readLine()) != null) {
conteudo += str;
}
} catch (FileNotFoundException ex) {
Logger.getLogger(Arquivo.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Arquivo.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
fileReader.close();
} catch (IOException ex) {
Logger.getLogger(Arquivo.class.getName()).log(Level.SEVERE, null, ex);
}
}
return conteudo;
}
/**
* Lista os arquivos de um diretorio
* @param diretorio
* @return List
*/
public List listarDiretorio(String diretorio) {
String nomeFile = "";
File f = new File(diretorio);
List<String> lista = new ArrayList<String>();
int arqComp = 0;
File fList[] = f.listFiles();
for(int i = 0; i < fList.length; i++) {
nomeFile = fList[i].getName();
int pos = nomeFile.indexOf(" .txt");
if(pos != -1){
lista.add(fList[i].getName());
} else {
arqComp++;
}
}
return lista;
}
public void extraiDados(String s, String cep){
Consultor c = new Consultor();
String[] arrConsultor = new String[6];
String idInicio = "name=\"cdConsultoraEscolhida\"";
String idFim = "</div>";
String conteudo = "";
int inicio = 0, fimNome = 0, cont = 0;
Pattern p = Pattern.compile(""+idInicio+"(.*?)"+idFim+"");
Matcher m = p.matcher(s);
Pattern pattern = Pattern.compile("<br/>");
// enquanto o Matcher encontrar o pattern na String fornecida:
while(m.find()){
conteudo = m.group();
arrConsultor = conteudo.split("<br/>");
inicio = conteudo.indexOf("<b>");
fimNome = conteudo.indexOf("</b>");
Matcher matcher = pattern.matcher(conteudo);
cont = 0;
while(matcher.find()){
cont++;
}
c.setNome(conteudo.substring(inicio+3,fimNome));
c.setLogradouro(arrConsultor[1].replace(" ", "").replace(" ", " "));
c.setCep(cep);
if(cont == 4) {
c.setLocalizacao("");
c.setTelefone("");
c.setEmail(arrConsultor[2].toLowerCase());
}else if(cont == 5) {
c.setEmail(arrConsultor[3].toLowerCase());
if(arrConsultor[2].indexOf("(") != -1){
c.setLocalizacao("");
c.setTelefone(arrConsultor[2].replace(" ", " "));
}else if(arrConsultor[2].indexOf(",") != -1){
c.setTelefone("");
c.setLocalizacao(arrConsultor[2].replace(" ", " "));
} else {
c.setLocalizacao("");
}
} else if(cont == 6) {
c.setLocalizacao(arrConsultor[2].replace(" ", " "));
c.setTelefone(arrConsultor[3].replace(" ", " "));
c.setEmail(arrConsultor[4].toLowerCase().replace(" ", ""));
}
c.cadastrar();
}
}
public static void main(String[] args){
int quantFiles = 0;
Arquivo file = new Arquivo();
String conteudoFile = "";
List myList = file.listarDiretorio("c:\\natura");
for(int i = 0; i < myList.size(); i++){
System.out.println(myList.get(i));
conteudoFile = file.abrir("c:\\natura\\" + myList.get(i));
file.extraiDados(conteudoFile, myList.get(i).toString().substring(0, 8));
quantFiles++;
System.gc();
}
System.out.println(quantFiles + " arquivos encontrados");
}
}
public class BancoDeDados {
/* Atributos do banco de dados */
private static String URL = "jdbc:mysql://127.0.0.1/natura"; // URL MySQL
private static String DRIVER = "com.mysql.jdbc.Driver"; // Driver JDBC MySQL
private static String USUARIO = "root"; // Login do usu�rio do banco
private static String SENHA = "12345678"; // Senha do usu�rio do banco
private static Connection connection;
public BancoDeDados() {
}
/**
* Obtem uma conexao com o banco de dados.
*/
public static Connection getConexao() {
try {
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USUARIO, SENHA);
} catch (SQLException ex) {
Logger.getLogger(BancoDeDados.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(BancoDeDados.class.getName()).log(Level.SEVERE, null, ex);
}
return connection;
}
}