Pessoal,
Tenho arquivos CSV com os seguinte dados: idCurriculo; idDisciplina; idPreRequisito.
Preciso ler esse arquivo, pegar o id do curriculo e agrupar as disciplinas de acordo com esse id.
Ja tentei de varias maneiras, a mais recente e que se aproximou do que eu quero foi essa:
FileReader freader = new FileReader(fileAbsolutePath);
Scanner sc = new Scanner(freader);
List<String> listaIds = this.returnIds(fileAbsolutePath);
Set<String> listaIdsDistintos = new HashSet<String>(listaIds);
for (Iterator iterator = listaIdsDistintos.iterator(); iterator.hasNext() ; ) {
String idDistinto = (String) iterator.next();
response.getWriter().println(idDistinto);
while (sc.hasNextLine()) {
String line = sc.nextLine();
String[] fields = line.split(";");
if (idDistinto.equals(fields[0])) {
response.getWriter().println(fields[1]);
}
}
}
sc.close();
Eu consigo fazer o upload do CSV, via SERVLET. Leio esse arquivo, envio-o para um método que separa apenas os ids do curriculo. Depois eu o uso o HashSet para que eliminar os valores repetidos.
Leio novamente o CSV, e comparo os ids de cada linha com os valores no meu HashSet (ids não repetidos).
O problema é que ele só mostra as disciplinas do primeiro id. Tenho três ids distintos no meu CSV, ele não mostra o id2 e id3. O que está parecendo é que depois do while (leitura de todo o arquivo) ele não incrementa e não lê novamente.
Não sei o que fazer.
Preciso disso urgente.
Alguém pode me ajudar, por favor?