Erro com Scanner / useDelimiter

Pessoal,

tenho um arquivo CSV com a seguinte estrutura:

3102001;TCC00166;TCC00171
3102001;TCC00167;TCC00171
3102001;TCC00175;TCC00171
3102001;TCC00180;TCC00171
3102001;TCC00179;TCC00171
3102001;TCC00179;GAN00140
3102001;TCC00182;TCC00171
3102001;TCC00182;GAN00166
3101001;GCC04007;TCC04005
3101001;SAD04019;STA04005
3101001;TCC04024;TCC04014
3101001;TCC04032;TCC04005

Preciso quebrar as informações separadas por ;

Estou fazendo assim:

            FileReader freader = new FileReader(fileAbsolutePath);
            Scanner sc = new Scanner(freader);
            
            sc.useDelimiter("\\;");
            
            while (sc.hasNext()) {
                String idCurriculo = sc.next();
                String idDisciplina = sc.next();
                String idPreRequisito = sc.nextLine();                
                               
                response.getWriter().println("cur: " + idCurriculo);
                response.getWriter().println("dis: " + idDisciplina);
                response.getWriter().println("pre: " + idPreRequisito);                               
            }
            sc.close();

Está quase tudo certo. O problema é que o valor da minha última variável - idPreRequisito - está ficando com o ; na frente.

A minha saida está assim:
cur: 3102001
dis: TCC00166
pre: ;TCC00171

Mas quero que fique assim:
cur: 3102001
dis: TCC00166
pre: TCC00171

Não estou conseguindo achar o erro. Ja mudei o delimiter. Já troquei para next() ao invés de nextLine() na declaração da variável com erro, e nada.

Alguém pode me ajudar?