Filestream, streamwriter / reader, binarywriter / reader

Soyez le premier à donner votre avis sur cette source.

Vue 22 599 fois - Téléchargée 439 fois

Description

Programme qui génère 500 nombres aléatoire et qui va les déposés dans un fichier.

Source / Exemple :


public FileStream fs;
		public StreamWriter sw;
		public StreamReader sr;
		public BinaryReader br;
		public BinaryWriter bw;

		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

		private void cmdGenerer_Click(object sender, System.EventArgs e)
		{
			//ouvrir fichier
			fs = new FileStream("c:\\nombre.dat",     
                                                                              FileMode.OpenOrCreate ,
                                                                              FileAccess.Write);
			sw = new StreamWriter(fs);

			Random alea = new Random();
			int i;
			short nbr;
			for(i = 0; i < 500; i++)
			{
				nbr = (short)alea.Next(101);
				sw.WriteLine(nbr + " ");
			}
			sw.Close();
			fs.Close();
		}

		private void cmdAfficher_Click(object sender, System.EventArgs e)
		{
			fs = new FileStream("c:\\nombre.dat", FileMode.Open , 
                                                                              FileAccess.Read);
			sr = new StreamReader(fs);
			
			string ch = "";
			short nbr;
			int i = 0;
			for(;;)
			{
				i++;
				nbr = short.Parse(sr.ReadLine());
				ch = ch + nbr.ToString() + " ";
				if (i % 25 == 0)
				{
					ch = ch + "\n";
				}
					if(i == 500)
					break;
			}
			sr.Close();
			fs.Close();
			MessageBox.Show(ch);
		}

		private void cmdGenererBw_Click(object sender, System.EventArgs e)
		{
			//ouvrir fichier
			fs = new FileStream("c:\\nombrebinaire.dat", 
                            FileMode.OpenOrCreate , FileAccess.Write);
			bw = new BinaryWriter(fs);

			Random alea = new Random();
			int i;
			short nbr;
			for(i = 0; i < 500; i++)
			{
				nbr = (short)alea.Next(101);
				bw.Write(nbr);
			}
			bw.Close();
			fs.Close();
		}

		private void cmdAfficherBr_Click(object sender, System.EventArgs e)
		{
			fs = new FileStream("c:\\nombrebinaire.dat", FileMode.Open , FileAccess.Read);
			br = new BinaryReader(fs);
			
			string ch = "";
			short nbr;
			int i = 0;
			for(;;)
			{
				i++;
				nbr = br.ReadInt16();
				ch = ch + nbr.ToString() + " ";
				if (i % 25 == 0)
				{
					ch = ch + "\n";
				}
				if(i == 500)
					break;
			}
			br.Close();
			fs.Close();
			MessageBox.Show(ch);
		}

		private void cmdLireTous_Click(object sender, System.EventArgs e)
		{
			
			fs = new FileStream("c:\\nombre.dat", FileMode.Open , FileAccess.Read);
			sr = new StreamReader(fs);
			//ch = sr.ReadToEnd();
			char[] fichier = new char[1000];
			sr.ReadBlock(fichier, 0 ,1000);
			sr.Close();
			fs.Close();
			//MessageBox.Show(ch);
		}

		private void cmdLireSequenciel_Click(object sender, System.EventArgs e)
		{
			fs = new FileStream("c:\\nombrebinaire.dat", FileMode.Open , FileAccess.Read);
			br = new BinaryReader(fs);
			
			string ch = "";
			short nbr;
			int i = 0;
			try
			{
				for(;;)
				{
					i++;
					nbr = br.ReadInt16();
					ch = ch + nbr.ToString() + " ";
					if (i % 25 == 0)
					{
						ch = ch + "\n";
					}
				}
			}
			catch (EndOfStreamException err1)
			{
				MessageBox.Show(err1.Message);
				
			}
			br.Close();
			fs.Close();
			MessageBox.Show(ch);
		}

		private void cmdMoy_Click(object sender, System.EventArgs e)
		{
			fs = new FileStream("c:\\nombre.dat", FileMode.Open , FileAccess.Read);
			sr = new StreamReader(fs);
			
			short nbr;
			int i = 0;
			float total = 0, moy;
			for(;;)
			{
				i++;
				nbr = short.Parse(sr.ReadLine());
				total = total + nbr;
				if(i == 500)
					break;
			}
			sr.Close();
			fs.Close();
			moy = total / i;
			MessageBox.Show(moy.ToString());
		}
	}
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_kernell)