Bonjour,

Voici mon problème:

J'essaye de lire un ficher (CSV) grâce à un BufferedReader. J'ai une code qui ressemble à ça
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 .....
Sachant que tempOut est une List<String>.

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
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
....
Mais pas celui-ci
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
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
ÿþ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 ...
Et une ligne sur deux contient juste un espace (" ").

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.