Connaitre l'encodage d'un fichier .txt
Bonjour,
dans une de mes applications j'utilise un fichier .txt pour alimenter une liste d'objet, normalement ce fichier est encodé en UTF-8 (encodage par défaut défini dans mon workspace etc...) mais un gentil utilisateur (:aie: ) à trouvé le moyen d'utiliser un fichier avec un autre encodage, évidement cela a conduit a un beau gloubi boulga lors de l'alimentation de ma liste d'objet... J'ai tenté de résoudre ce problème en forcant l'encodage en utf-8 de cette façon :
Code:
1 2 3 4 5
|
// Lit le contenu du fichier en entrée
InputStream is = myUploadedFile.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader br = new BufferedReader(isr); |
Mais ce code fait le contraire de ce que je voudrais en fait, c'est a dire qu'il lit le fichier comme s'il était en utf-8...
Alors que ce que je voudrais ressemblerait plutôt à ca : (attention code complétement bidon qui ne fonctionnne pas mais qui représente ce que j'aimerais avoir ^^)
Code:
1 2 3 4 5 6
|
// Lit le contenu du fichier en entrée
InputStream is = myUploadedFile.getInputStream();
String encodage = is.getEncoding();
InputStreamReader isr = new InputStreamReader(is, encodage);
BufferedReader br = new BufferedReader(isr); |
Cette fonction getEncoding existe pour le InputStreamReader mais elle me renvoit a chaque fois l'encodage par défaut du workspace ou alors l'encodage que j'ai spécifié lors du new...
Voila je ne sait pas si je suis très clair, n'hésitez pas à me demander des précisions, merci d'avance de votre aide!!