Fichier texte a separer et a copier dans un tableau

turk93390 Messages postés 3 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 29 décembre 2006 - 27 déc. 2006 à 15:02
turk93390 Messages postés 3 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 29 décembre 2006 - 29 déc. 2006 à 13:20
Bonjour

Je suis tout nouveau et j'aurai besoin d'un peu d'aide
mon probleme est le suivant

j'ai un fichier texte
ce fichier texte se presente sous la forme suivante
colonne A Colonne B colonne C colonne D
et cela sur plusieurs ligne
chaque colonne est separer par une tabulation 
La colonne D commence par " et se termine par "
le probleme de cette colonne est que chaque caractere (y compris les espaces doivent etre stockes dans un tableau.)
les valeurs des colonnes doivent etre stockes dans un tableau byte afin de respecte un protocole.
Merci d'avance

<!-- / message -->

4 réponses

brixi69 Messages postés 44 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 31 mars 2008
28 déc. 2006 à 23:17
Salut !

Quel est ton problème exactement ?

Je ne sais pas si c'est la meilleur solution mais quoiqu'il en soit moi je ferais comme ceci :

byte[] datas;

datas=

File.ReadAllBytes(
"fichier.txt");

Tous les caractères sont copiés dans un tableau à deux dimensions sous forme de bytes.

Tu n'as plus qu'à parcourir le tableau avec 2 boucle 'for' et récupérer ce dont tu as besoin.

@"#+++
0
turk93390 Messages postés 3 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 29 décembre 2006
29 déc. 2006 à 10:21
je fais essayer d'expliquer un peu mieux mon probleme en donnant un exemple


alors j 'ai plusieurs colonne


A           B         C            D            E
200         40      30         "as53"      "sdf"

et cela sur plusieurs lignes
le probleme est que mes colonnes sont separer differement soit par des espaces soit par des tabulations
donc j'aimerai recuperer mes donnes sous un tableau de bytes
pour l'instant j'arrive a recuperer un tableau de string separer par des tabulations
voila je fais essaye ce que tu viens de me dire et je vous enverai le bout de soft qui me permet de separer mes colonnes toute a l heure
0
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
29 déc. 2006 à 12:52
Salut,

Pense à la méthode tonString.Split( "\t " );
Qui te permettra de récupérer les différentes colonnes (il faudra tester les chaînes de longueur zéro)

Et/Ou à tonString.Trim() qui suprime les espaces et tabulations situées "autour" de la chaîne

J'espère que ça va t'aider... ;)
0
turk93390 Messages postés 3 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 29 décembre 2006
29 déc. 2006 à 13:20
voila ce que j ai commence a faire
donc j'arrive bien a recopier  mes valeurs de colonne separer par des tabulations
dans un tableau de string
j'aimerais bien recopier cela dans un tableau de bytes
est il possible de faire le liens entre string et bytes?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.IO;
using System.Runtime.InteropServices;




namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            StreamReader reader = new StreamReader(new FileStream(@"c:\temp\file.txt", FileMode.Open, FileAccess.Read));


            while (!reader.EndOfStream)
            {
                string Line = reader.ReadLine();
                string RemaingChars = Line;
                int nombrecolonne = 0;
                int nombrecol = 0;
                int toto = 0;


                while (RemaingChars.Length != 0 && toto!=2)
                {
                    int indexQuot = RemaingChars.IndexOf('\t');
                    while (toto != 1)//boucle qui permet de connaitre le nombre de colonnes
                    {
                        indexQuot = RemaingChars.IndexOf('\t') ;
                        if (indexQuot == -1)
                        {
                            indexQuot--;
                        }
                        if (indexQuot <= -2)
                        {
                            toto = 1;
                            break;
                        }




                        if (indexQuot >= 0)
                        {
                            string left = RemaingChars.Substring(0, indexQuot);
                            nombrecol++;
                        }
                        RemaingChars = RemaingChars.Substring(indexQuot + 1);
                    }
                    nombrecolonne = nombrecol + 1;
                    nombrecol = 0;
                    string[] tab = new string[nombrecolonne];
                    RemaingChars = Line;
                    while (toto != 2)//boucle qui ecrit dans un tableau de string les valeurs de la ligne
                    {
                        indexQuot = RemaingChars.IndexOf('\t');
                        if (indexQuot == -1)
                        {
                            tab[nombrecolonne-1] = RemaingChars;
                            indexQuot--;
                        }
                        if (indexQuot <= -2)
                        {
                            toto = 2;
                            break;
                        }




                        if (indexQuot >= 0)
                        {
                            string left = RemaingChars.Substring(0, indexQuot);
                            tab[nombrecol] = left;
                            nombrecol++;
                        }
                        RemaingChars = RemaingChars.Substring(indexQuot + 1);


                      }




                }
            }
        }
    }
}
voila si non je fais essayer ce queu tu viens de me dire.
0
Rejoignez-nous