Creation/Lecture fichier texte

tteuteu Messages postés 7 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 19 mars 2008 - 3 mars 2006 à 10:05
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 3 mars 2006 à 14:12
Bonjour,

Je viens tout juste de reprendre vb.net pour développer une application pour ppc. Et voilà mon problème : Je n'arrive pas à lire et/ou créer un fichier texte. Je vous laisse mon code (tiré de plusieurs sources différentes), ça sera plus simple.

Public Function lireFichier(ByVal fichier As String)

Dim c As New Collections.ObjectModel.Collection(Of String)

Try
' Create an instance of StreamReader to read from a file.
Dim sr As StreamReader = New StreamReader(fichier)
Dim line As String
' Read and display the lines from the file until the end
' of the file is reached.
Do
line = sr.ReadLine()
c.Add(line)
Loop Until line Is Nothing
sr.Close()
Catch E As Exception
' Let the user know what went wrong.
Dim fi As New FileInfo(fichier)
Dim fs As FileStream = fi.Create()

c.Add("plop")

fs.Close()

End Try

' On retourne notre Arraylist
Return c
End Function

Le fonctionnement est simple : J'appele mon code à partir d'une autre classe, en lui passant une string (test.txt) en paramètre.

Le problème étant qu'il passe toujours dans le catch. Même après une exécution successive.. :'(

Si quelqu'un peut me montrer (sans doute) ma stupide erreur, ça serait sympa. :)

4 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
3 mars 2006 à 12:44
Essais avec les classes TextReader et TextWriter dans System.IO.
Sinon je ne saisis pas trop ta fonction lire fichier. Pourquoi elle ne renvoit pas le texte lu ?
0
tteuteu Messages postés 7 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 19 mars 2008
3 mars 2006 à 13:37
Bonjour, et merci d'avoir répondu Willi.

Je vais essayer les classes que tu m'as indiqué et je te tiens au courant. En ce qui concerne la fonction, je préfère mettre chaque ligne de mon fichier (ReadLine) dans une collection pour la retourner. Dans le programme principal, j'utilise cette dernière pour ajouter chaque une des lignes à une zone de liste. J'aurai pû faire autrement certes, mais je pense que c'est plus clair comme ça.

Si tu vois ça d'une autre façon, je suis ouvert. :)
0
tteuteu Messages postés 7 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 19 mars 2008
3 mars 2006 à 14:07
Bon alors je viens de m'aperçevoir que mon code marchait très bien quand je le lancais dans une application windows. Mon problème vient donc lorsque je l'execute avec un émulateur PPC. Si le problème vient de l'émulateur, ça me gêne pas trop. Par contre esque ça amrchera une fois sur le PPC en question ? :/
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
3 mars 2006 à 14:12
Sa je ne sais pas si il marchera dans ton ppc

J'ai une autre facon à te proposer



Function LireFichier(
ByVal
fichier
As

String
)
As

String
()

Dim tr
As
IO.TextReader =
New
IO.StreamReader(fichier)

Dim sLines
As

String
() = tr.ReadToEnd.Split(ControlChars.CrLf)

tr.Close()

Return sLines



End
Function

Pour ajouter les lignes à une liste genre listbox tu fais comme ceci

Dim sMesLignes
As

String
() = LireFichier(
"c:\tonfichier.txt"
)

For i
As

Integer
= 0
To
sMesLignes.Length - 1
ListBox1.Items.Add(sMesLignes(i).Trim)

Next
0
Rejoignez-nous