Codificação de arquivo de texto Java

Eu tenho um arquivo de texto e pode ser ANSI (com charset ISO-8859-2), UTF-8, UCS-2 Big ou Little Endian.

Existe alguma maneira de detectar a codificação do arquivo para lê-lo corretamente?

Ou é possível ler um arquivo sem dar a codificação? (e lê o arquivo como está)

(Existem vários programas que podem detectar e converter codificação / formato de arquivos de texto.)

questionAnswers(4)

yourAnswerToTheQuestion