Olá Pessoal,
Gostaria de um suporte sobre como capturar algumas informações de vários arquivos txt (*.log).
Segue abaixo o formato do arquivo TXT:
Date Logged: 10-22-2014 11:11:00 AM
Task Name: PROJECT_X_X00_SPI3
User ID: Operator Mode
System: PP/PS Series FlashCORE
Machine ID: [telefone removido]
Device: MACRONIX MX25L6473EM2 SO8
Data Source: X:\XPTO\PROJECT\BINARYFILE.bin
Sumcheck: 12345678
Process: Continuity/Blank Check/ID Check/Erase/Program/Verify/Auto Secure/Mark/Vision
Process Status: Job Begin Status: New Job, Job End Status: Stopped
TLWin Session ID: < none >
Job Start Time: 10-22-2014 03:38:57 AM
Job End Time: 10-22-2014 11:11:00 AM
Devices Total: 5051
Devices Passed: 5041
Devices Failed: 10
Overall Device Yield: 99.80%
Task Description: MX25L6473EM
Nominal Throughput: 722 dph
Job Throughput: 679 dph
O meu objetivo é conseguir capturar as informações dentro de cada arquivo e colocar em um arquivo CSV, onde o nome das colunas serão fixas e o contúdo de cada nome irá ser capturado de cada arquivo.
Exemplo de como deverá ficar:
Cada linha é representada por um arquivo *.log.
Segue abaixo o código que comecei a escrever. Consegui fazer um looping para ler todo o conteúdo de cada arquivo dentro de uma pasta, mas ao utilizar line.contains() só consigo pegar uma informação.
public class ReadingDataTxt {
public static void main(String[] args) {
String dir = "F:\\XPTO";
File file = new File(dir);
for (String arq : file.list()) {
if (arq.endsWith(".log")) {
System.out.println("--------->" + arq + "<---------");
try {
System.out.println(reading(dir + "\\" + arq));
} catch (Exception e) {
}
}
}
}
private static String reading(String dir) throws Exception {
String line = " ", content = " ";
BufferedReader br = new BufferedReader(new FileReader(new File(dir)));
while ((line = br.readLine()) != null) {
if (!line.isEmpty() && (line.contains("Date Logged:") && line.contains("Device:"))) {
content = new StringBuilder(content).append(line.concat("\n")).substring(15, 25).toString();
}
}
br.close();
return content;
}
}
Como sou novato na linguagem, agradeço pela ajuda!
