Bonjour !
J'ai un problème dont je ne trouve pas de solutions, a vrai dire je ne suis même pas véritablement certain de la cause.
Donc voila, j'ai un fichier texte (encodé d'après notepad++), format windows (donc les retours à la lignes sont "\r\n").
Chaque ligne fait exactement 520 caractères, ("\r\n" exclus), ni plus, ni moins, c'est une condition impérative.
La fonction StreamReader.ReadLine() ne retourne pas ces retous à la lignes, donc je dois obtenir une ligne de 520 caractères.
Je le lit donc avec un code ressemblant à ca
Ca fonctionne très bien sur mon ordi (Windows Vista 32bits, en français).
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 string filepath = "monfichier.txt"; StreamReader sr = new StreamReader(filepath); string line = ""; while((line = sr.ReadLine()) != null) { if(line.Length != 520) { txtReport.Text += "La ligne n'est pas au bon format." + Environment.NewLine; continue; } /* Le traitement de la ligne */ }
Seulement voilà, une fois chez le client (Windows 2003 server 64bits, en anglais), en lisant exactement le même fichier (la comparaison binaire ne retourne aucune différence)
Certaines lignes sont détectée comme n'étant pas au bon format, et donc ne faisant pas exactement 520 caractère.
On s'est aperçus que les lignes en question contiennent le caractère "°" (par exemple : "N°123").
Une idée de ce qui ne va pas et surtout, comment corriger ??
Partager