Estou preso à operação de leitura de arquivos e preciso de sua ajuda.
Formato de arquivo: arquivo CSV delimitado por vírgula, com cabeçalho
Minha exigência: 1) obter dados do cabeçalho e armazenar em algum lugar 2) contar o número de linhas no arquivo 3) soma do campo específico no arquivo (por exemplo, o terceiro campo é AMOUNT, portanto, é necessário obter o valor total de AMOUNT]
Condição: Deseja fazê-lo em java, sem jar de terceiros
Forneça o código se você tiver alguma sugestão.
Respostas:
2 para resposta № 1String DELIMITER = ",";
int FIELD_TO_SUM = 3;
int sum = 0;
int lineCount = 0;
BufferedReader reader = new BufferedReader(new FileReader("/path/to/file.csv"));
String line = null;
boolean firstTime = true;
while ((line = reader.readLine()) != null) {
String[] split = line.split(DELIMITER);
if (firstTime) {
firstTime = false;
// do somethign spetial for the header
continue;
}
lineCount++;
sum = sum + Integer.parseInt(split[FIELD_TO_SUM-1]);
}
System.out.println("Line count: "+ lineCount);
System.out.println("Sum of field "+FIELD_TO_SUM+": "+ sum);+ sum);