Bonjour,
Voici mon problème:
J'essaye de lire un ficher (CSV) grâce à un BufferedReader. J'ai une code qui ressemble à ça
Sachant que tempOut est une List<String>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public void Read(String filePath){ try{ InputStream ips = new FileInputStream(filePath); InputStreamReader ipsr = new InputStreamReader(ips, "ISO-8859-15"); BufferedReader br = new BufferedReader(ipsr); String ligne; while((ligne = br.readLine()) != null){ ligne = ligne.replaceAll(",", "."); tempOut.add(ligne); } br.close(); ipsr.close(); ips.close(); } catch (Exception .....
Cette fonction a très bien marché sur un de mes fichiers, mais ne marche pas du tout sur un autre. Pour info, mes deux fichiers commence comme ça
Celui là marche
Mais pas celui-ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 DT_IMPCAR;R_MS_ADRPRI;R_MS_ADRDEP;MS_SSCC;R_MS_SSCCPR;R_MS_CPTRMI;R_MS_STMISS;UL_DONORD;UL_CPROIN;UL_ILOGIS;R_MS_UVCDEP;R_MS_DAFIFO;R_MS_UVCREI;R_MS_CODCAR;R_MS_CPTRPI;R_MS_TYPEMI;R_MS_UVCDEP2;HAUT_CAL_PALETTE 2012-02-02 00:00:00.000;01R03;01C380063C;30201101046862400;NULL;0;5;35014;647426;1;700;2013-02-12 00:00:00.000;0;209;0;0;700;122,999996 2012-02-02 00:00:00.000;01E050622B;01E050820N;30000000209136700;NULL;A;5;35014;766866;0;450;2012-01-27 08:41:15.000;18;211;0;2;450;102 2012-02-02 00:00:00.000;01E050820N;01E040822B;30000000209136700;NULL;0;5;35014;766866;0;432;2012-02-02 00:00:00.000;0;211;0;3;432;102 2012-02-02 00:00:00.000;01L010871C;01C380080A;350100498881220000;NULL;0;5;35014;939070;1;576;2012-01-06 09:33:05.000;0;419;0;2;576;96 2012-02-02 00:00:00.000;01C320241C;01C320260A;133955000016443000;NULL;A;5;35014;99191;15;648;2011-12-02 08:34:27.000;270;46;0;2;648;154,4 2012-02-02 00:00:00.000;01C320260A;01C320261C;133955000016443000;NULL;0;5;35014;99191;15;378;2012-02-02 00:00:00.000;0;46;0;3;378;115,8 2012-02-02 00:00:00.000;01D050260A;01D040251B;30201101046664600;NULL;0;5;35014;894959;3;672;2012-02-02 00:00:00.000;0;211;0;3;672;78 2012-02-02 00:00:00.000;01D040251B;01D050260A;30201101046664600;NULL;A;5;35014;894959;3;816;2012-01-27 06:55:59.000;144;211;0;2;816;78 ....
Pour le deuxième fichier, ma fonction me lit (pour la première ligne pas exemple):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 R_MS_DATPRI;R_MS_ADRPRI;R_MS_ADRDEP;MS_SSCC;R_MS_SSCCPR;R_MS_CPTRMI;R_MS_STMISS;UL_DONORD;UL_CPROIN;UL_ILOGIS;R_MS_UVCDEP;R_MS_DAFIFO;R_MS_UVCREI;R_MS_CODCAR;R_MS_CPTRPI;R_MS_TYPEMI;R_MS_UVCDEP;HAUT_CAL_PALETTE 2012-02-28 14:35:07.000;01R03;01A140091C;354108320120346723;NULL;0;5;35014;926575;000;2016;2013-01-20 00:00:00.000;0;228;0;0;2016;135 2012-02-28 11:51:55.000;01R01;01B220190E;030201101047611366;NULL;0;5;35014;385150;001;72;2012-02-28 00:00:00.000;0;000;0;0;72;6,5 2012-02-28 16:21:16.000;01R02;01A120273B;030201101047620245;NULL;0;5;35014;048252;006;1188;2013-02-13 00:00:00.000;0;214;0;0;1188;121 2012-02-28 11:48:01.000;01R02;01B170232C;030201101047601428;NULL;0;5;35014;438042;004;864;2015-12-31 00:00:00.000;0;201;0;0;864;108 2012-02-28 08:44:28.000;01R03;01B230141D;030201101047601299;NULL;0;5;35014;964549;002;852;2013-03-15 00:00:00.000;0;114;0;0;852;105 2012-02-28 09:26:12.000;01D050260D;01D050041A;030201101047444476;NULL;0;5;35014;699381;000;312;2012-02-28 00:00:00.000;0;211;0;3;312;34 2012-02-28 09:26:03.000;01D050041A;01D050260D;030201101047444476;NULL;A;5;35014;699381;000;432;2012-02-22 11:06:12.000;120;211;0;2;432;34 2012-02-28 10:56:37.000;01R01;01XP001;030201101047610475;NULL;0;5;42010;TRANSIT01;000;1;2012-02-28 10:56:35.000;0;000;0;3;1;1
Et une ligne sur deux contient juste un espace (" ").
Code : Sélectionner tout - Visualiser dans une fenêtre à part ÿþR _ M S _ D A T P R I ; R _ A D R P R I ; R _ M S _ A D R D E P ...
J'ai pensé à un mauvaise encodage, mais même en changeant ça j'obtient le même résultat. Le plus étonnant est que le premier fichier est bien lu, mais pas le second.
J'ai bien essayer de demander à google, mais il a pas trouvé non plus.
Quelqu'un aurait une idée sur la question ?
EDIT: J'ai remarqué que mon 2ème fichier est 2 fois plus lourd que mon 1er alors qu'ils font a peu près le même nombre de caractère. Je suis sur que c'est un problème d'encodage mais je n'arrive pas à le trouver.
Partager