Ler arquivo txt ignorando ponto e virgula

oi pessoal,

estou fazendo a leitura de um arquivo texto para migrar dados de um sistema para o outro.
Esse arquivo vem no formato csv e separado por ponto e virgula.
O grande problema é que alguns campos vem com ponto e virgula no seu conteudo…e ao usar o split ele faz a separação errada.

no campo “TRE; 200 E 209” não pode ter separação. Mas o split não respeita a aspa e faz a quebra.

linha.split(";");

existe uma forma de respeitar campos que estão entre aspas?

Já procurou no Google?