Accueil > Forum > > > > lecture de ligne dans un fichier texte
lecture de ligne dans un fichier texte
lundi 20 août 2007 à 14:31:37 |
lecture de ligne dans un fichier texte

yabiyou
|
Bonjour, je suis grand débutant en C # et je n'arrrive pas à lire un fichier texte. Je voudrais stocker chaque ligne dans l'élément n°i d'un tableau pour le fichier que j'ai préalablement sélectionner, openfiledialog1.filenames(2) par exemple
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO; namespace test{ publicpartialclassForm1 : Form{ public Form1() { InitializeComponent(); } privatevoid button1_Click(object sender, EventArgs e) { openFileDialog1.DefaultExt = "txt"; openFileDialog1.Filter = "TXT files (*.txt)|*.txt|All files (*.*)|*.*"; openFileDialog1.Title = "Select input txt file"; openFileDialog1.Multiselect = true; openFileDialog1.FileName = Input.Text; if (openFileDialog1.ShowDialog() == DialogResult.OK) { Input.Text = Path.Combine(Path.GetDirectoryName(Input.Text), Path.GetFileNameWithoutExtension(Input.Text) + ".out" + Path.GetExtension(Input.Text));} } } } }
|
|
lundi 20 août 2007 à 14:55:48 |
Re : lecture de ligne dans un fichier texte

tomlev
|
Je ne suis pas sûr de bien comprendre ton problème... tu cherches à obtenir la liste des fichiers sélectionnés, ou à lire le contenu de ces fichiers ?
Tu peux obtenir les chemins d'accès des fichiers en faisant un foreach sur la collection Filenames du dialogue : foreach (string filename in openFileDialog1.Filenames) { // faire qqch avec filename }
Pour lire le contenu d'un fichier donné, tu peux faire comme ça : StreamReader rd = new StreamReader(filename); string line; while ((line = rd.ReadLine()) != null) { // faire qqch avec line } rd.Close();
|
|
lundi 20 août 2007 à 15:23:42 |
Re : lecture de ligne dans un fichier texte

yabiyou
|
Je n'ai peut être pas été assez clair. En fait j'ai plusieurs fichiers textes organisés par lignes de la forme
A=4.566 B=6.333 C=7.555 A=8.555 B=6.331 C=9.336 A=7.556 B=9.565 C=8.246 etc
Je veux pouvoir lire des fichiers et en extraire 3 tableaux A, B et C contenant les valeurs numériques associées. De plus je veux aussi faire une multiselection qui me classe par ordre alphabétique les fichiers qui sont numérotés TM1, TM2, TM3 etc et effecture l'opération précédente pour obtenir des "grands" tableaux contenant les valeurs de A, B et C de l'ensemble des fichiers sélectionné
voili voilou
|
|
lundi 20 août 2007 à 16:32:08 |
Re : lecture de ligne dans un fichier texte

bernie666
|
Réponse acceptée !
Salut, //declaration du fichier a parcourir StreamReader unFic = new StreamReader(unChemin); //declaration d'une variable intermediare qui va recuperer chaque streemReader.readline() String ligne; //on parcour le fichier tant qu'on a des enregistrement while((ligne = unFic.ReadLine()) != null) { //et on affecte chaque ligne du fichier a la collection //ici tu va récuperer la ligne de ton fichier vu que le caractere séparateur est un espace tu fais un split sur la ligne pour voir un tableau de 3 caracteres => tu parcour ce tableau et tu le dispatch entre les 3 autres tableaux qui contiennent les valeures A , B , C } unFic.Close(); ------------------------------------------- http://quoideneufaujourdhui.spaces.live.com
|
|
lundi 20 août 2007 à 16:37:06 |
Re : lecture de ligne dans un fichier texte

tomlev
|
Réponse acceptée !
OK...
D'abord, vu que les valeurs A, B et C sont associées, je pense qu'il vaudrait mieux créer une structure pour les regrouper sous forme de triplets, par exemple :
struct Triplet { public double A; public double B; public double C; }
Ensuite tu manipuleras un tableau de triplets plutot que 3 tableaux. Vu que tu ne connais pas à l'avance le nombre de ligne, il vaut mieux utiliser une liste dynamique de triplets : List<Triplet> liste = new List<Triplet>();
Pour l'algorithme global, tu peux faire un truc comme ca :
Initialiser la liste; Pour chaque fichier sélectionné { Pour chaque ligne dans le fichier { Lire les valeurs (en utilisant String.Split); Créer un nouveau triplet t avec ces valeurs; Ajouter t à la liste ( liste.Add(t) ); } }
|
|
mardi 21 août 2007 à 10:53:55 |
Re : lecture de ligne dans un fichier texte

yabiyou
|
Merci pour les réponses!!
Mais je ne comprend pas bien ce qui est stocker dans ligne. Il s'agit d'un tableau, d'une chaine de caractères... Quand j'essaie d'afficher sa valeur dans une TextBaox il n'y a rien.
StreamReader
sr =
new
StreamReader
(Nomfichier[0]);
String
ligne;
while
((ligne = sr.ReadLine()) !=
null
){ ligne = sr.ReadLine(); } sr.Close(); Box.Text = ligne;
|
|
mardi 21 août 2007 à 10:53:56 |
Re : lecture de ligne dans un fichier texte

yabiyou
|
Merci pour les réponses!!
Mais je ne comprend pas bien ce qui est stocker dans ligne. Il s'agit d'un tableau, d'une chaine de caractères... Quand j'essaie d'afficher sa valeur dans une TextBaox il n'y a rien.
StreamReader
sr =
new
StreamReader
(Nomfichier[0]);
String
ligne;
while
((ligne = sr.ReadLine()) !=
null
){ ligne = sr.ReadLine(); } sr.Close(); Box.Text = ligne;
|
|
mardi 21 août 2007 à 14:55:43 |
Re : lecture de ligne dans un fichier texte

tomlev
|
La fonction StreamReader.ReadLine() lit une ligne du fichier tant que la fin du fichier n'est pas atteinte. Elle renvoie une chaine de caractère (string), par exemple "A=4.566 B=6.333 C=7.555". Quand la fin du fichier est atteinte, la fonction renvoie null (d'où le test dans le while)
|
|
Cette discussion est classée dans : input, text, system, using, openfiledialog1
Répondre à ce message
Sujets en rapport avec ce message
Problème de bouton [ par TmDsbsBs ]
J'ai une liste déroute dans laquelle je choisis une ligne, et je valide par OK. Ensuite, j'ai une seconde liste déroulante ainsi qu'un nouveau bouton
Problème avec WMI [ par el_filosof ]
Bonjour,Je travaille avec le framework 2.0, et je developpe une application qui récupère des infos sur les process grace a WMI. J'ai deux problèmes:
C# : techniques de programmation. [ par Evil_Gouki_X ]
Bonjour a tous.voila j'ai debute C# il y a quleques heures et j'ai une question sur les techniques de programmation. j'ai fait une recherche mais je n
afficher le contenue d'un textbox [ par cliantusse ]
cliantusse Bonjour,j'ai deux forms, la 1ere contient un textbox et un label, la 2eme c
c# enregistrement base de donnés acces [ par benjion ]
Bonjour j'aurai voulu savoir les etapes a suivre pour enregistrer la valeur d'une textbox d'un form dans une base de donné( nom de la base = fromage
connection base [ par fayrous ]
Salut, voila mon code using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using Sys
connection de la base donnée [ par fayrous ]
Salut je suis débutant en c# je ne sais pas comment faire une connection à la base . j'ai essayé mais il existe une erreur voila le code using Sy
Incapable d'envoyer des emails en me servant d'un serveur SMTP en C# via Visual Studio 2005 [ par likemuz25 ]
Bonjour, je suis présentement en entreprise et il faut que je développe un système qui permet d'envoyer des emails.J'ai fais plusieurs recherche (auta
HyperTerminal pour Windows CE [ par chindji ]
Bonjour! Je suis un débutant en C# et Windows CE. Actuellement je programme un HyperTerminal pour Windows CE . Mais je ne comprends pas grand chose.
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|