Como descobrir o encoding de um arquivo?

Pessoal estou sofrendo para descobrir qual o encoding dos arquivos que eu recebo para poder abrí-los corretamente. Já tentei algumas APIs como JChardet ou cpDetector, mas não funcionaram direito :?
Alguém ai conhece alguma API que faça isso? Qualquer material sobre a especificação das codificações (UTF-8, UTF-16… etc ) também já ajudaria.

Valeu

Como assim “não funcionaram direito”?
Os softwares descritos não se propõem a sempre acertar o encoding. Se você for ver, volta e meia o Firefox ou o Internet Explorer, que tentam sempre chutar o encoding se ele não estiver especificado na página HTML, cometem alguns erros de vez em quando.
Talvez você tenha de dar uma “ajeitada” nesses softwares. É que esses softwares tentam chutar encodings para todas as línguas conhecidas, e provavelmente você só terá de lidar com: CP850, ISO-8859-1 (ou CP1252), e UTF-8.

É Thingol, não sei se usei errado. Eu fiz um teste como manda o exemplo deles e com um arquivo em ISO-8859-1 e ele me retornou Shift-JS (acho que era isso) um encoding para suporte para Japonês.
Realmente só preciso dos encoding básicos suportados no rt.jar. Se quiser eu mando o código e os encoding que preciso.
Pelo que andei vendo o cpDetector usa o JChardet. :shock: