Converter ANSI em UTF-8 corretamente

Boa noite, pessoal,

Estou com dificuldades na manipulação de um arquivo.

Precio ler esse arquivo (arquivo.txt) que está com o encoding igual a ANSI (US-ASCII) e preciso salvar essas informações no banco de dados (ORACLE) que está com o encoding igual a UTF-8.

Mas os caracteres especiais ficam com uma “?”.

O devo fazer para manter o texto formatado corretamente no encoding desejado?

Existe alguma lib que facilite tal tarefa?

Valeu

tenta com o FileInputStream:

BufferedReader in = new BufferedReader( new InputStreamReader(new FileInputStream("infilename"), "ISO-8859-1"));

@evefuji funcionou…

valeu.

Alguem sabe me dizer se consigo fazer essa conversão sem ter o arquivo salvo na maquina ???
Um arquivo direto de um upload.

@Tayson:

Consegue.

Você pode trabalhar da mesma forma que explanei anteriormente, mas no lugar de usar um FileInputStream pode usar o próprio InputStream do upload. Ou, pode fazer algo parecido com: