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 ( ) à 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!!