Codificación de archivos de texto Java

Tengo un archivo de texto y puede ser ANSI (con el conjunto de caracteres ISO-8859-2), UTF-8, UCS-2 Big o Little Endian.

¿Hay alguna forma de detectar la codificación del archivo para leerlo correctamente?

¿O es posible leer un archivo sin dar la codificación? (y lee el archivo tal como está)

(Hay varios programas que pueden detectar y convertir la codificación / formato de los archivos de texto).

Respuestas a la pregunta(4)

Su respuesta a la pregunta