Taille trés volumieuse pour 9 caractére ASCII

Résolu
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010 - 16 juil. 2008 à 11:18
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010 - 17 juil. 2008 à 08:17
Bonjour;
J'essaye de crée une petite application qui sert ecrire dans un fichier TXT a partir de l'interface console de C#;;mais plusieurs problèmes se posent dans ce cadre:
     1-quand j'écris 4 caractères,j'obtiens  un fichier TXT de talle
98.4Mo,c'est trés énorme quand meme!!!!!!n'est ce pas!!!,ce que je savais que le codage ASCII est adopter our les textes,et ne prend pas assez de taille

      2-j'ai essayer par des multiples façon de produire une application qui écris infinément de chaines de caractére, telle que la chaine '9999' est la condition d'arrêt;mais sans resultat .

 //Ouvrir le fichier
                StreamWriter sw = new StreamWriter("C:\\CODE-SOURS.txt", true, Encoding.ACSII);
                Console.WriteLine("Maintenant vous pouvez Ecrire ce que vous voulez,Une fois que vous voulez");
                Console.WriteLine("Quitter l'editeur taper '9999' et validez par 'entrer'");
                Console.WriteLine();
                string s = Console.ReadLine();
               while (s != "9999")
               {
                    //Ecrire Les lignes désirées .

                    sw.WriteLine(s);
                      il y a quelque chose qui manque ici,mais je l'est pas trouvé
                }
                //fermer le fichier
                sw.Close();
            }

Merci bien de votre aide.

4 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
16 juil. 2008 à 14:19
lol...

//Ouvrir le fichier
                StreamWriter sw = new StreamWriter("C:\\SghC.txt", true, Encoding.ASCII);
                Console.WriteLine("Maintenant vous pouvez Ecrire ce que vous voulez,Une fois que vous voulez");
                Console.WriteLine("Quitter l'editeur taper '9999' et validez par 'entrer'");
                Console.WriteLine();
                string s =  string.Empty;
                do
               {
                    s = Console.ReadLine();
                    //Ecrire Les lignes désirées .

                    sw.WriteLine(s);
                } while (s != "9999")

                //fermer le fichier
                sw.Close();
            }

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
3
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010
16 juil. 2008 à 13:01
c'est bon les amis,j'ai trouver la solution
c'est juste que j'ete un peut fatiguer,c'est pour ce la que j'ai pas trouver la solution qui est trés banale, désoler une autre fois,,alors la solution consiste a relire une autre chaine de caractére,pour la revérifier en sortant de la boucle while;;j'ai coloréé les changemen,je pense que vous pouvez distingé la differance et par la suite la solution

//Ouvrir le fichier
                StreamWriter sw = new StreamWriter("C:\\SghC.txt", true, Encoding.ASCII);
                Console.WriteLine("Maintenant vous pouvez Ecrire ce que vous voulez,Une fois que vous voulez");
                Console.WriteLine("Quitter l'editeur taper '9999' et validez par 'entrer'");
                Console.WriteLine();
                string s = Console.ReadLine();
               while (s != "9999")
               {
                    //Ecrire Les lignes désirées .

                    sw.WriteLine(s);
                    
                    Console.WriteLine();
                    s = Console.ReadLine();
                }
                //fermer le fichier
                sw.Close();
            }
0
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010
16 juil. 2008 à 13:05
Bonjour;

Mais pouratnt j'ai pas trouver une explcation pou la 1ér probleme oû le fichier est de taille extrême elle peut arriver trés facilement a 2.5Go e tapant une courte phrase de 30 caractere par exemple
C'est drole, n'est ce pas????????

Merci bien de votre aide.
0
sghchafaa Messages postés 104 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 16 juillet 2010
17 juil. 2008 à 08:17
Bonjour;

je pense que la grande taille (génere par le premier code en haut) est
du au bouclage infinie de la WHILE,sa veut dire que l'application lis
la chaine introduite et la réecrie infinement de fois dans le fichiet
TXTce qui génére un trés grande taille,, cette meme taille se différe
du temps d'intervention de l'utilisateur a fermer le console, par
exemple si l'utilisateur verme le console aprés 30 secondes il y  auras
une taille de 100Mo et s'il le fait aprés 5min, il obtiendras 2 Go par
exemple;;
c'est logique non???????

Merci bien de votre aide.
0
Rejoignez-nous