Salut à tous,
j'ai un fichier .txt avec une ligne qui possède des caractères invisibles à Windows. Quand j'importe ce fichier sous UNIX, ses caractères apparaissent clairement.
La ligne sous Windows :la ligne sous UNIX :021000012509140420121600000000000xxxxxxxxxxxxxxxxxxxxxxxx00000Mon souci est de pouvoir vérifier la présence de ses caractères et ramener un message erreur avec la ligne concernée.\357\273\277021000012509140420121600000000000xxxxxxxxxxxxxxxxxxxxxxxx00000
Ce code ne détecte pas la présence des caractères invisibles en début de lignes et Je sollicite votre aide.
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
18
19 //Effectue un test sur le fichier afin de contrôler les caractères invisibles bool retour = true; int longueurLigne = 128; // Les caractères maximum sur une ligne doivent etre de 128. StreamReader sr = new StreamReader(FILEDIALOG.FileName, Encoding.UTF8); //recuperation du fichier à controler string s = string.Empty; while ((s = sr.ReadLine()) != null) { if (s.Length > longueurLigne) { retour = false; string[] lines_caractere = { "Présence de caractères invisibles sur la ligne : " + " " + s }; //remplir le fichier erreur.txt avec retour à la ligne System.IO.File.WriteAllLines(Application.StartupPath + "\\erreur.txt", lines_caractere); TXT.Text = ""; } } string text = Convert.ToString(retour);
Partager