public Pesquisador() {
		File f = new File(Arquivo.ARQ_ARVOREB);
		if(!f.exists()){
			arvoreB = new ArvoreB<String, ArrayList<String>>();
			
			TrataArquivo arqLivro = new TrataArquivo(Arquivo.ARQ_LIVRO, Arquivo.LIVRO);
			ArrayList livros = arqLivro.leArquivo();
			
			ComparadorLivro comparador = new ComparadorLivro();
			comparador.setIdCampo(Livro.INDICE_EDITORA);
			Collections.sort(livros, comparador);
			
			ArrayList<String> livrosAux = new ArrayList<String>();
			Object lvAnterior = livros.get(0); //pega o primeiro
			for(int i = 1; i < livros.size(); i++){
				Object lvAtual = livros.get(i);
				String editoraAnterior = lvAnterior.toString().split(Arquivo.TAB)[Livro.INDICE_EDITORA];
				livrosAux.add(lvAnterior.toString());
				String editoraAtual = lvAtual.toString().split(Arquivo.TAB)[Livro.INDICE_EDITORA];
				lvAnterior = lvAtual;
				if(!editoraAnterior.equals(editoraAtual) || (i == livros.size() - 1)){
					arvoreB.put(editoraAnterior, livrosAux);
					livrosAux = new ArrayList<String>();
				}
				livros.set(i, null); //Pra ajudar na memoria
			}
			TrataArquivo.gravaObjeto(arvoreB, Arquivo.ARQ_ARVOREB);
		} else {
			arvoreB = (ArvoreB<String, ArrayList<String>>)TrataArquivo.getObjeto(Arquivo.ARQ_ARVOREB);
		}
		
	}