Java les jeux de caractères / encodage des caractères

J'ai un fichier en espagnol donc c'est plein de personnages comme:

 á é í ó ú ñ Ñ Á É Í Ó Ú 

Je dois lire le fichier, donc ce que je fais:

fr = new FileReader(ficheroEntrada);
BufferedReader rEntrada = new BufferedReader(fr);

String linea = rEntrada.readLine();
if (linea == null) {
logger.error("ERROR: Empty file.");
return null;
} 
String delimitador = "[;]";
String[] tokens = null;

List<String> token = new ArrayList<String>();
while ((linea = rEntrada.readLine()) != null) {
    //Some parsing specific to my file. 
    tokens = linea.split(delimitador);
    token.add(tokens[0]);
    token.add(tokens[1]);
}
logger.info("List of tokens: " + token);
return token;

Quand j'ai lu la liste de jetons, tous les caractères spéciaux sont partis et ont été remplacés par ce genre de personnages:

Ó = Ó
Ñ = Ñ

Et ainsi de suite...

Ce qui se passe? Je n'avais jamais eu de problèmes avec les jeux de caractères (je suppose est un problème de charset). C'est à cause de cet ordinateur? Que puis-je faire?

Supplémentaire conseils seront les bienvenus, je suis en train d'apprendre! Merci!!!!

Utilisation InputStreamReader et de spécifier le codage approprié. FileReader mettra en "par défaut" de l'encodage, afin de ne pas décoder correctement les caractères.

OriginalL'auteur coconut | 2012-11-21