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

Java Discussion :

 au début d'un fichier


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 227
    Points : 77
    Points
    77
    Par défaut  au début d'un fichier
    Bonjour.
    Je lis le contenu d'un fichier texte ligne par ligne et je mets le contenu dans code qui est un StringBuffer:
    URL fichierDebut=getClass().getResource("/FichiersDivers/sourceDebut.txt");
    BufferedReader br=new BufferedReader(new InputStreamReader(fichierDebut.openStream()));
    String ligne="";
    while ((ligne=br.readLine())!=null) code.append(ligne+"\n");

    Le problème, c'est que j'ai les caractères  qui apparaissent au début de code. ça fait dysfonctionner la suite de mon programme.
    Que faut-il faire?

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Si tu es sûr que c'est un fichier texte, c'est peut être un problème d'encodage. Y a-t-il des caractères accentués ou assimilés dans ton fichier ? Si oui, quel est l'encodage de ton fichier ?
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 227
    Points : 77
    Points
    77
    Par défaut
    En fait, c'est un texte qui vient d'un fichier .txt que j'ai créé avec le bloc-notes en faisant un copier-coller depuis la source d'un fichier HTML. Voici le début du fichier:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>FullMap</title>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAQSVlmEDnp5RrR9-ZOhy66xRWOpDKCeTBlH0vOrTGSONf2QnMVBQG5W7Bx7geh-RYE3LeEHS9DhMVLA" type="text/javascript"></script>
    <script type="text/javascript">
    // <![CDATA[
    var map;
    var ePoly0;.........................

    Il n'y a aucun accent et je pense que l'encodage est celui d'un fichier HTML?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    on dirait les 2 bytes qu'on retrouve au début des fichiers UTF-16 avec marqueur d'endiance.... C'est curieux, c'est pas le genre à notepad pourtant. Essaie d'ouvrir ton fichier avec un logiciel textes plus évolué qui support le choix d'encodage. Sauve le en utf-8 et, dans ton code, précise l'encodage utf-8 quand tu crée ton streamreader.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 227
    Points : 77
    Points
    77
    Par défaut
    J'ai fait ce que tu as dit avec Word et j'ai écrit le code:
    BufferedReader br=new BufferedReader(new InputStreamReader(fichierDebut.openStream(),"UTF-8"));
    Je ne sais pas si c'est la bonne syntaxe mais maintenant, j'ai le signe ? au début du texte.

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu peux mettre ton fichier en annexe qu'on l'analyse un peu?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 227
    Points : 77
    Points
    77
    Par défaut
    et voilà: sourceDebut.txt

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ok, ton fichier commence par les bytes U+FEFF, qui sont expliqués ici:
    http://en.wikipedia.org/wiki/Mapping...#Noncharacters
    En gros, word a été mettre en début de fichier un marqueur d'endiance, ce qui est un non sens car utf-8 est indépendant de l'endiance. Je te recommande fortement d'utiliser un éditeur de texte vraiment adapté à la gestion des textes bruts et la gestion de leur encodage. Tu peux soit utiliser l'edieur de texte embeddé dans ton ide (si c'est eclipse, attention à bien configurer dans les préférence l'encodage par défaut). Ou alors des chose comme textpad devraient probablement faire l'affaire.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 227
    Points : 77
    Points
    77
    Par défaut
    Finalement, j'ai fait un copier-coller dans un fichier texte d'eclipse et ça marche.

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

Discussions similaires

  1. [VBA-Excel]Peut-on insérer des nouvelles lignes au début d'un fichier
    Par Jusomi31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/05/2007, 15h03
  2. Réponses: 2
    Dernier message: 05/04/2007, 09h39
  3. Ecrire au début d'un fichier
    Par Core8 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 15/02/2007, 11h28
  4. écrire au début d'un fichier sans l'écraser
    Par Davboc dans le forum Langage
    Réponses: 11
    Dernier message: 30/12/2005, 01h48
  5. [String] Caractère en trop au début d'un fichier
    Par Seiya dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 12/07/2004, 14h00

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