/** * Main: classe usada para testar a classe TabelaOcorrencias */ import TabelaOcorrencias; import ElementoTabelaOcorrencias; import java.io.File; import java.io.FileReader; import java.io.IOException; class Main { public static void main(String[] argv) { TabelaOcorrencias tabela = new TabelaOcorrencias(); File arquivo = null; int i=0; if (argv.length == 0) { System.err.println("Especifique os arquivos a serem lidos na linha de comando"); return; } // Leia cada arquivo de entrada for (i=0; i < argv.length; i++) { System.out.println("Ocorrências para o arquivo: \""+argv[i]+"\""); arquivo = new File(argv[i]); // verifica se arquivo existe e pode ser lido if ((arquivo.exists()) && (arquivo.canRead())) { FileReader fr = null; try { fr = new FileReader(arquivo); tabela.limpa(); // Le arquivo StringBuffer palavra = new StringBuffer(); int c; while ((c=fr.read()) != -1) { // enquanto não for fim de arquivo if (((char)c!='\n') && ((char)c!=' ')) { palavra.append((char)c); } else { if (!palavra.toString().equals("")) { tabela.adiciona(palavra.toString()); } palavra.delete(0,palavra.length()); } } // Imprime para a tela ElementoTabelaOcorrencias[] vetor = tabela.paraVetor(); int j; for (j=0; j < vetor.length; j++) { System.out.println(vetor[j].pegaOcorrencias()+" - "+vetor[j].pegaPalavra()); } } catch (IOException e) { System.err.println("Ocorreu algum erro ao ler o arquivo \""+arquivo+"\": "+e+"\nVeja a pilha de execução:"); e.printStackTrace(System.err); } catch (Exception e) { System.err.println("Exceção não pega: "+e+"\nVeja a pilha de execução:"); e.printStackTrace(System.err); } finally { try { if (fr != null) fr.close(); } catch (IOException e) { System.err.println("Erro ao fechar arquivo \""+arquivo+"\": "+e); } } } else { System.err.println("O arquivo \""+argv[i]+"\" não pode ser lido."); } } } }