Ajuda ler e calcular dados arquivo txt

Estou fazendo um programa para ler dados de um arquivo TXT:Mês (01, 02, 03, … 12), horas trabalhadas, valor por hora, descontos, abonos
estes informaçoes devem ser grvadas em um banco de dados

CREATE TABLE trabalho ( mes int(2) DEFAULT NULL, horas double(8,2) DEFAULT NULL, vl_hora double(8,2) DEFAULT NULL, desconto double(8,2) DEFAULT NULL, abono double(8,2) DEFAULT NULL, codigo int(6) NOT NULL AUTO_INCREMENT, PRIMARY KEY (codigo) )

A tela do sistema deve ser a seguinte:

Ao clicar no botão ?Carregar dados do arquivo para o banco? deve ser feita a leitura do arquivo texto e inserir na tabela do MYSQL. Atualizar em um label quantos registros foram carregados. Se incluir ou excluir linhas do arquivo este dado deve ser exibido corretamente.
Ao clicar em pesquisar, o sistema deve ler no banco de dados o registro do mês especificado e atualizar os valores de 2 labels O primeiro se refere ao valor líquido que o funcionário recebeu no mês especificado. O segundo se refere o quanto em percentual o valor recebido no mês representa em relação ao ano. Caso o usuário não informe o mês, uma mensagem deve ser exibida informando-o que se trata de um campo obrigatório.

este foi o codigo que fiz ate agora gostaria de uma ajuda se possivel para mostrar quantos arquivos foram carregados e o calculo do valor liquido recebido e o % anual

obg

[code]package teste_trabalho;

import java.awt.Label;
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.PreparedStatement;

import org.eclipse.swt.widgets.Text;

public class Importacao {
public void ImportaDados(Connection conn, Text lbArqGrav){
String sql = “insert into trabalho (mes,horas,vl_hora,desconto,abono)”+
" values (?,?,?,?,?)";
try {
FileReader fw = new FileReader(“C:/arqTrab.txt”);
BufferedReader bw = new BufferedReader(fw);
String linha;
Integer arqGrav = 0;
PreparedStatement ps = conn.prepareStatement(sql);
while ((linha = bw.readLine()) != null) {
String[] vet = linha.split(",");
arqGrav += 1;
ps.setInt(1, Integer.parseInt(vet[0]));
ps.setDouble(2, Double.parseDouble(vet[1]));
ps.setDouble(3, Double.parseDouble(vet[2]));
ps.setDouble(4, Double.parseDouble(vet[3]));
ps.setDouble(5, Double.parseDouble(vet[4]));
ps.executeUpdate();
}
lbArqGrav.setText(String.valueOf(arqGrav));
}catch (Exception e){
e.printStackTrace();
}
}

public void LimpaDados(Connection conn){
	String sql = "delete  from trabalho ";
	try {
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.executeUpdate();
	} catch (Exception e) {
		e.printStackTrace();
	}
}

}[/code]

Cara, se vc já fez isso aí, não to entendendo qual a dificuldade em fazer o resto.

O resto são selects no banco.

Para saber o número de registros (vc diz arquivos, mas não faz sentido) basta um SELECT COUNT(codigo) FROM trabalho;

Para os outros cálculos você vai ter que ver a formula e criar alguns selects para conseguir as informaçoes:

Suponho, apenas suponho, que o valor líquido tenha de ser calculado por registro.

Então seria algo como (horas * vl_hora) - desconto + abono .

Onde vc vai mostrar isso, não sei, talvez num relatorio, talvez, tenha de criar um campo para colocar.

mas certamente basta um “SELECT * from trabalho where codigo = x” para obter as informações, uma de cada vez e calcular, ou crie um campo liquido na tua tabela e use um UPDATE com um SELECT que faça o calculo conforme formula e ja atualize o campo.

O tal do % anual não faço nem idéia do que seja.

Pode ser a soma por mês e o percentual para cada mês. Pode ser a comparação no ano, da soma do líquido com o bruto. Sei lá, vc tem que ser mais claro.

Mas de qualquer jeito, alguns SELECTs resolvem qualquer coisa dessas.

boa sorte.