Charger fichier en VB.NET

Résolu
cs_Alanor Messages postés 9 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 25 avril 2005 - 18 avril 2005 à 15:30
cs_Alanor Messages postés 9 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 25 avril 2005 - 20 avril 2005 à 11:48
Bonjour,

J'aimerais savoir comment je peux charger les lignes d'un fichier dans un tableau pour pouvoir les modifier et ensuite pouvoir sauvegarder ce tableau dans un autre fichier. Et tout ca en VB.Net.

Merci de votre aide.

3 réponses

cs_Alanor Messages postés 9 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 25 avril 2005
20 avril 2005 à 11:48
Bon alors pour ceux qui seront interesse voici ma version finale du chargement et de la sauvegarde d'un fichier en VB.Net


Public
Function ChargerFichier(
ByVal adresse
As
String,
ByRef nbLigne
As
Integer)
As
String()

'Function permettant de recupérer les lignes d'un fichier dans un tableau

'*Entrées
'adresse : adresse complete du fichier a charger
'nbLigne : nombre de lignes qui seront rentrée dans le tableau

'*Sortie
'Tableau contenant les lignes du fichier

Dim fichier(300)
As
String
'Tableau dans lequel sera stocké le fichier
Dim tmp
As
String
'Sauvegarde temporaire d'une ligne
Dim i
As
Integer = 0

'Ouvre le fichier en lecture
FileOpen(1, adresse, OpenMode.Input, OpenAccess.Read, OpenShare.Shared)

'Lit les lignes une par une jusqu'a la fin du fichier et les ajoutent dans le tableau
Do
Until EOF(1)
Input(1, tmp)
fichier(i) = tmp
i += 1

Loop
FileClose(1)

'Met a jour le nombre de ligne
nbLigne = i

Return fichier

End
Function



Public
Sub SauverFichier(
ByVal adresse
As
String,
ByVal donnees()
As
String,
ByVal nbLigne
As
Integer)

'Function permettant de sauvegarder dans un fichier les donnees contenues dans
'un tableau

'*Entrées
'adresse : adresse complete du fichier dans lequel on fera la sauvegarde
'donnees : tableau contenant les lignes a sauvegarder
'nbLigne : nombre de lignes utilisées dans le tableau

Dim i
As
Integer

'Ouvre le fichier en ecriture
FileOpen(1, adresse, OpenMode.Output, OpenAccess.Write, OpenShare.Shared)


'Enregistre les lignes une par une jusqu'a la fin du tableau et les ajoutent dans le fichier
For i = 0
To nbLigne - 1
PrintLine(1, donnees(i))

Next
FileClose(1)

End
Sub

Je remercie beaucoup un ami qui a pu m'aider
3
edokt Messages postés 137 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 30 septembre 2008
18 avril 2005 à 16:22
// ouverture de fichier



StreamReader sr = new StreamReader("Chemin de fichier ");

string line ; //= sr.ReadLine();

while((line = sr.ReadLine())!= null)

{


this.list1.Items.Add(line); //List1 c'est un
control ListBox , C'est par exemple

}

sr.Close();



//Enregistrement

TextWriter output = File.CreateText("Chemin De fichier");


for (int i = 0; i <= this.list1.Items.Count - 1;
i++)

{



output.WriteLine(this.list1.Items[i].ToString());

}

output.Close();



Salut
0
cs_Alanor Messages postés 9 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 25 avril 2005
19 avril 2005 à 10:11
Merci pour ton aide, j'ai du convertile code en VB.Net mais dans le principe ca marche.



Dim fichierBPR(200)
As
String
Dim nbLigne
As
Integer = 0

Dim i
As
Integer

Chargement :
Dim sr
As IO.StreamReader =
New IO.StreamReader("Chemin entree")



Do
fichierBPR(nbLigne) = sr.ReadLine()
nbLigne = nbLigne + 1

Loop
Until (fichierBPR(nbLigne - 1) = "

")


sr.Close()



For i = 0
To (nbLigne - 1)
lstBPR.Items.Add(fichierBPR(i))

Next

Sauvegarde :
Dim sortie
As IO.TextWriter = IO.File.CreateText("Chemin sortie")



For i = 0
To (nbLigne - 1)
sortie.WriteLine(lstBPR.Items(i))

Next


sortie.Close()

Le probleme maintenant réside dans le fait que je ne sais pas comment savoir que je suis a la fin du fichier. Je ne peux pas tester si j'ai des lignes vide car il y en a dans mon fichier et pour le moment je ne peux m'arreter qu'en connaissant la derniere ligne (

)

Si quelqu'un pouvait m'aider ce serait gentil.
0
Rejoignez-nous