Accueil > Forum > > > > Help! Probleme pour ecrire dans un fichier
Help! Probleme pour ecrire dans un fichier
vendredi 17 août 2012 à 01:24:31 |
Help! Probleme pour ecrire dans un fichier

senkai6259
|
Bonsoirs chers confrères, je viens ce soir vous ennuyer car étant débutant dans ce langage, j'ai encore du mal avec certaines choses, et là, ça fait 3h que mon code bloque:
Code C# : public void WriteLine(string chemin, string Content, int Line)
{
int LineToWrite;
int i;
string ContentToWrite;
string CurrentContent;
string[] stringArray = new string[1500];
string che = Path.GetFullPath(chemin);
i = 0;
ContentToWrite = Content;
LineToWrite = Line;
System.IO.StreamWriter file = new System.IO.StreamWriter(@che);
CurrentContent = GiveLine(@che, i + 1);
// On lis pour mettre les lignes du fichier dans un tableau
while (CurrentContent != null)
{
CurrentContent = GiveLine(@che, i + 1);
stringArray[i] = CurrentContent;
i++;
}
i = 0;
// Ensuite on restitue toutes les lignes dans ce fichier, puis on ferme
while (stringArray[i] != null)
{
file.WriteLine(stringArray[i]);
i++;
}
// A la fin
file.Close();
}
Ou est l'erreur svp, je l'appel de la manière suivante :
Code C# : Main.TraiteText.WriteLine(@"Content\Infos\infos.txt", "no", 2);
En gros le code n'est meme pas terminé, et ça plante deja, quelqu'un peut m'aider ?
J'essaie d'ouvrir un fichier, et d'écrire a une ligne précise, le "string" que je veut lui donner.
Voila !
|
|
vendredi 17 août 2012 à 09:34:10 |
Re : Help! Probleme pour ecrire dans un fichier

buno
|
Hello,
Déjà, nettoyons ton code
Code C# : public void WriteLine(string chemin, string Content, int Line)
{
string CurrentContent;
ArrayList stringArray = new ArrayList();
string che = Path.GetFullPath(chemin);
// On lit pour mettre les lignes du fichier dans une liste
int i = 0;
CurrentContent = GiveLine(@che, i + 1);
while (CurrentContent != null)
{
stringArray.Add(CurrentContent);
CurrentContent = GiveLine(@che, i + 1);
i++;
}
// Ensuite on restitue toutes les lignes dans ce fichier, puis on ferme
System.IO.StreamWriter file = new System.IO.StreamWriter(@che);
foreach (String str in stringArray)
{
file.WriteLine(str);
}
// A la fin
file.Close();
}
On peut remarquer que le paramètre Content n'est pas utilisé...
En gros le code n'est meme pas terminé, et ça plante deja, quelqu'un peut m'aider ?
Quel est le comportement exactement? ça plante? Où? Est-ce que tes fichiers sont bien ouverts?
Voici un exemple d'insertion de lignes avec un StreamWriter
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
vendredi 17 août 2012 à 14:17:30 |
Re : Help! Probleme pour ecrire dans un fichier

senkai6259
|
Bon, après avoir pris ton code et fini le miens par dessus, cela ne marche toujours pas, donc je vais essayer de te faire visualiser mon code, pour que tu y trouve une eventuelle erreur:
tout d'abord, la classe traitetexte :
Code C# : using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;
namespace Client_HORION
{
class TextClass
{
// lire
public string GiveLine(string chemin, int line)
{
int counter = 1;
string CurrentLine;
string che = Path.GetFullPath(chemin);
// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader(@che);
while ((CurrentLine = file.ReadLine()) != null)
{
if (counter == line)
{
file.Close();
break;
}
counter++;
}
return CurrentLine;
}
// ecrire
public void WriteLine(string chemin, string Content, int Line)
{
string CurrentContent;
string ContentToWrite = Content;
int LineToWrite = Line;
ArrayList stringArray = new ArrayList();
string che = Path.GetFullPath(chemin);
// On lit pour mettre les lignes du fichier dans une liste
int i = 1;
CurrentContent = GiveLine(@che, 1);
while (CurrentContent != null)
{
stringArray.Add(CurrentContent);
CurrentContent = GiveLine(@che, i);
i++;
}
// Ensuite on restitue toutes les lignes dans ce fichier, puis on ferme
System.IO.StreamWriter file = new System.IO.StreamWriter(@che);
i = 1;
foreach (String str in stringArray)
{
if (LineToWrite != i)
{
file.WriteLine(str);
}
else if (LineToWrite == i)
{
file.WriteLine(ContentToWrite);
}
i++;
}
// A la fin
file.Close();
}
}
}
Ensuite, dans un autre objet, j'appel ces fonctions, mais a l'execution, le code plante et ne fais pas la ligne suivante qui est InitMap :
Code C# : // pour les infos de connexion
Main.TraiteText.WriteLine(@"Content\Infos\infos.txt", "no", 2);
Main.initMAP(int.Parse(this.Datas[1]));
|
|
vendredi 17 août 2012 à 14:24:06 |
Re : Help! Probleme pour ecrire dans un fichier

senkai6259
|
En fait, le code writeLine, n'écris même pas dans le fichier, car j'ai déplacé :
Code C# : Main.TraiteText.WriteLine(@"Content\Infos\infos.txt", "no", 2);
Pour tester.
|
|
vendredi 17 août 2012 à 15:36:09 |
Re : Help! Probleme pour ecrire dans un fichier

buno
|
Les éventuelles erreurs, tu ne pourra les voir qu'avec le debugger, ou bien en traçant tes variables. Il se peut par exemple que:
- che ne soit pas valide
- GiveLine ne te retourne pas le bon résultat
- file ne soit pas valide
Sinon, tu peux remplacer la 1ère étape, qui est la lecture ligne par ligne de ton fichier, par le code que je t'ai filé en lien, à savoir:
Code C# : string[] lines = File.ReadAllLines(che);
Le code entier est le suivant:
Code C# : public static void InsertLineInFile(string path, string line, int position)
{
string[] lines = File.ReadAllLines(path);
using (StreamWriter writer = new StreamWriter(path))
{
for (int i = 0; i < position; i++)
writer.WriteLine(lines[i]);
writer.WriteLine(line);
for (int i = position; i < lines.Length; i++)
writer.WriteLine(lines[i]);
}
}
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
vendredi 17 août 2012 à 15:38:17 |
Re : Help! Probleme pour ecrire dans un fichier

buno
|
Eh mais attends! Est-ce que le problème ne viendrait pas de l'appel à la méthode? Je ne vois pas de mot clé "static" et pourtant, tu semble l'utiliser de manière statique...
Un peu de lecture sur les classes statiques
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
vendredi 17 août 2012 à 18:04:04 |
Re : Help! Probleme pour ecrire dans un fichier

senkai6259
|
Merci, encore une fois tu m'a grandement aidé, il ne me reste plus qu'a te demander une derniere petite choses pour que tout fonctionne comme je l'entend :) :
Comment supprimer l'intégralité des lignes d'un fichier ?
Code C# : string[] lines = File.?????(path);
Merci
|
|
vendredi 17 août 2012 à 18:05:37 |
Re : Help! Probleme pour ecrire dans un fichier

senkai6259
|
Oups : EDIT : juste : Code C# : File.??????(supprimer tout le contenu)?????(path);
|
|
vendredi 17 août 2012 à 18:18:49 |
Re : Help! Probleme pour ecrire dans un fichier

buno
|
Code C# : System.IO.File.WriteAllText(@"Path/foo.bar",string.Empty);
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
Cette discussion est classée dans : fichier, code, string, currentcontent, stringarray
Répondre à ce message
Sujets en rapport avec ce message
CreateText() [ par JCpp ]
Je voudrais enregistrer une page d'un site en format XML.J'ai trouvé une source qui mémorise le contenu de la page en «string»http://www.csharpfr.com/
Convertir la pièce jointe d'un mail en son type de fichier [ par sspizer ]
Bonjour à tous. Actuellement je développe une application qui doit lire le contenu des mails jusque là j'arrive à récupérer un peu ce que je veux le s
[c#] ouverture et affichage de plusieurs fichiers en meme temps ! [ par vto59 ]
Bonjour a tous, Ce que je souhaite faire, c'est ouvrir plusieurs fichiers en meme temps et les rassembler en un seul fichier ! J'ai essayer ça : [
un moyen pour supprimer un fichier après l'avoir ouvert [ par JonathanS ]
Bonjour à tous, Alors voilà mon problème, j'aimerais pouvoir ouvrir un fichier quelconque mais pas directement depuis la source, j'aimerais le copier
Requête LIKE [ par Lorine ]
Bonjour, Voilà je suis sur visual studio, j'ai fait une connexion avec un fichier .mdb , je suis dans le fichier Mabasedataset.xsd dans la quel j'ai u
fichier texte [ par piegues007 ]
Slt ts l monD.qlq pEut m'aider?Mon probleme est de:1)comment ajouter des élèments dans un fichier texte.j'ai déja essayer le code du genre [code=cs] s
Surveiller / contrôler un fichier [ par Isa09 ]
J'ai à nouveau besoin de votre aide. Quelqu'un aurait-il un lien un code ou quelque chose pouvant m'aider.... J'ai 1code WatchFolder qui me donne une
Recherche par filtre dans un fichier XML [ par NikkyBoy ]
Bonjour a tous, Ceci est mon premier message sur le forum, veuillez donc m'excuser si je ne suis pas trés précis. Comme le titre le suggère je doit
[C#] Vérification d'une checkBox avec lancement d'une [ par Karibot ]
Bonsoir à tous, je bloque sur une application Windows Form et j'aimerai votre aide. j'ai une fonction kws(file) qui traite et me génére un fichier pla
passage paramètre entre un Form et un fichier de code... [ par andy2501 ]
Coucou à tous... alors voila j'ai un petit soucie, j'arrive à passer des paramètres d'un Form1 à un Form2, mais comment puis-je faire pour passer les
Livres en rapport
|
Derniers Blogs
VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet [ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS.[ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS. par Patrick Guimonet
C'est un point peu mis en avant mais SharePoint 2013 a été l'occasion de remettre de l'ordre dans les modèles de sites. Tout d'abord, un certain nombre de modèles ont été tout simplement rendus obsolètes (cf. Fonctionnalités déco...
Cliquez pour lire la suite de l'article par Patrick Guimonet 10 ERREURS DE COMPRéHENSION CONCERNANT SHAREPOINT.10 ERREURS DE COMPRéHENSION CONCERNANT SHAREPOINT. par Patrick Guimonet
Une excellente infographie (qui a sa source ici :http://www.evokeit.com/sharepoint-blog/misconceptions-of-microsoft-sharepoint) que j'ai traduite et commentée sur le blog d'Abalon : http://abalon.fr/blog/10-erreurs-de-comprhension-...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Logiciels
Nego Facturation (1.84)NEGO FACTURATION (1.84)Nego Facturation est un logiciel complet qui permet de gérer vos factures et devis très simplemen... Cliquez pour télécharger Nego Facturation Revealer Keylogger Free (2.07)REVEALER KEYLOGGER FREE (2.07)Keylogger invisible et gratuit pour Windows 8, 7, Vista ou XP. Revealer Keylogger Free vous perme... Cliquez pour télécharger Revealer Keylogger Free Devis-Factures PHMSD (2.1.0.1)DEVIS-FACTURES PHMSD (2.1.0.1)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD Ludoprêt (3.2)LUDOPRêT (3.2)Logiciel gratuit de gestion de ludothèque.
Gestion des jeux et des adhérents.
Gestion des for... Cliquez pour télécharger Ludoprêt 974 Application Server (13.2.1.3)974 APPLICATION SERVER (13.2.1.3)Ecommerce, Blogueur, Vitrine, Newsletter, Java IDE, ..., in the cloud et sous haute dispo. Facile... Cliquez pour télécharger 974 Application Server
|