Pessoal…
volto aqui novamente com mais dúvidas, se puderem ajudar, agradeço a todos!!
No meu código abaixo:
while((leitor=reader.readLine() ) != null ) {
String arquivoAbend = leitor;
String[] novoArq = arquivoAbend.split(" ");
StringBuffer linhaSaida = new StringBuffer();
if(leitor.contains("ABENDED") || leitor.contains("FAILED") ||
leitor.contains("NOT CATLGD 2") || leitor.contains("UNEXPLA")){
if(novoArq[13].length() > 8 && novoArq[4].equals("180211")){
// DATA_PROCESSAMENTO
linhaSaida.append(novoArq[2] + " ");
// HORA
linhaSaida.append(novoArq[3] + " ");
// ODATE
linhaSaida.append(novoArq[4] + " ");
// JOB
linhaSaida.append(novoArq[13].substring(0,8) + " ");
// JOB_ID
linhaSaida.append(novoArq[13].split("/")[1] + " ");
// OCORRENCIA
linhaSaida.append(novoArq[15] + " " + novoArq[17]);
}}
//salva os ERROS na lista
dadosArquivo.add(linhaSaida.toString());
Eu estou extraindo informações de um arquivo texto separado por colunas. Neste arquivo, existem 4 tipos de erros no qual busco na linha OCORRENCIA. Porém cada mensagem de erro, esta em uma determinada posição.
Exemplo:
Se for ABENDED, a OCORRENCIA esta na posição: linhaSaida.append(novoArq[15] + " " + novoArq[17]);
Se for COND a OCORRENCIA esta na posição: linhaSaida.append(novoArq[16] + " " + novoArq[18]);
Se for FAILED a OCORRENCIA esta na posição: linhaSaida.append(novoArq[15] + " " + novoArq[16] + " " + novoArq[17]);
Se for UNEXPLA a OCORRENCIA esta na posição: linhaSaida.append(novoArq[15] + " " + novoArq[16] + " " + novoArq[17] + " " + novoArq[18] + " " + novoArq[19]);
Como eu posso fazer para obter todas as informações diferenciando apenas a coluna OCORRENCIA conforme exemplo acima ?
E outra coisa, eu estou executando o meu programa e agora ele tá retornando apenas linhas vazias, não sei o que acontece…
valeu…