IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

probleme de lecture de fichier sous Linux


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Points : 35
    Points
    35
    Par défaut probleme de lecture de fichier sous Linux
    Bonjour à tous

    Besoin de votre aide s'il vous plait.

    Je suis entrain de travailler sur des fichiers de configuration .INI, j'ai trouvé des librairies qui font ça super bien. Je les ai utilisée sous Windows, ça marche super bien, mais dès que je déploie mon projet sous Linux ça ne marche pas. J'ai beau essayé de chercher d'où vient l'erreur mais je ne trouve pas, mais toute de même j'ai des pistes sans arriver à régler le problème.

    La ligne qui pose problème dans le traitement est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    line = reader.readLine();
    les exceptions obtenues sont lessuivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
              sun.io.MalformedInputException
              at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:278)
              at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java:314)
              at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:364)
              at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:250)
              at java.io.InputStreamReader.read(InputStreamReader.java:212)
              at java.io.BufferedReader.fill(BufferedReader.java:157)
              at java.io.BufferedReader.readLine(BufferedReader.java:320)
              at java.io.BufferedReader.readLine(BufferedReader.java:383)
              at ProfileReader.load(ProfileReader.java:56)
              at ProfileReader.main(ProfileReader.java:164)
    Je pense que c'est un problème d'Encodage, mais j'ai aucune idée comment résoudre le problème.

    Sachant que la variable $LANG de mon systeme linux est la suivante FR_fr.UTF-8.

    Est ce que vous avez une idée ?

    Merci de votre aide

    Cordialement,
    hbellahc

  2. #2
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Bonjour,

    Il semble effectivement que tu essaies de décoder en UTF-8 un fichier qui ne l'est pas.
    Je ne vois pas 50 solutions, il faut que tu trouves l'encodage de ton fichier.
    Après, à la déclaration de ton BufferReader, tu pourras préciser cet encodage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     BufferedReader in = new BufferedReader(new InputStreamReader(Ton_InputStream, "ENCODAGE"));
    Ce post explique les problèmes liés à l'encodage, il est très intéressant.

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par zorm Voir le message
    Bonjour,

    Il semble effectivement que tu essaies de décoder en UTF-8 un fichier qui ne l'est pas.
    Je ne vois pas 50 solutions, il faut que tu trouves l'encodage de ton fichier.
    Après, à la déclaration de ton BufferReader, tu pourras préciser cet encodage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     BufferedReader in = new BufferedReader(new InputStreamReader(Ton_InputStream, "ENCODAGE"));
    Ce post explique les problèmes liés à l'encodage, il est très intéressant.
    Oui merci beaucoup, Finalement j'ai trouvé, en fouillant bien dans la JavaDoc du package d'apache pour la gestion des configuration commons-configuration, je suis tombé sur une méthode load qui prend exactement, un inputStream et un String pour l'encodage, j'ai testé et ça marche.

    Merci beaucoup en tous cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lecture d'un fichier sous linux
    Par meenah dans le forum Débuter
    Réponses: 6
    Dernier message: 23/05/2012, 10h52
  2. Probleme de lecture de fichier Excel sous Access
    Par tribaleur dans le forum VBA Access
    Réponses: 6
    Dernier message: 10/03/2008, 07h51
  3. Exclusivité sur un fichier sous linux
    Par ggnore dans le forum Administration système
    Réponses: 4
    Dernier message: 03/11/2004, 09h46
  4. Les fichiers sous linux/windows
    Par Stessy dans le forum Linux
    Réponses: 5
    Dernier message: 05/12/2003, 09h30
  5. Problemes de compilation avec g++ sous linux
    Par Selimmel dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 19/09/2003, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo