This project is read-only.

Operatii cu fisiere

  • Citirea din fisiere
  • Scrierea in fisiere

Absolut necesar!

Pentru a face operatii cu fisiere este necesar ca System.IO sa fie prezent in lista de inceput (lista de directive)

using System;
using System.IO; // <<----- ABSOLUT NECESAR

Mod de operare

Pentru operatii cu fisiere este necesara deschiderea unui tunel catre fisier. Tunelul (stream) se deschide cu obiectul de tip FileStream.

 FileStream tunelFisier= new FileStream(adresa, FileMode.OpenOrCreate);

Citirea din fisiere

Operatiile de citire dintr-un fisier se fac cu obiecte de tip StreamReader.

FileStream tunelFisier= new FileStream(adresa, FileMode.OpenOrCreate);
StreamReader cititor = new StreamReader(fileCuNote);                                //obiect care citeste din fisiere

Pentru a citi o singura linie se foloseste metoda ReadLine a cititorului

FileStream fileCuNote = new FileStream(adresa, FileMode.OpenOrCreate);
StreamReader cititor = new StreamReader(fileCuNote);

string linie = cititor.ReadLine();






using System;
using System.IO;

namespace Aplicatie1
{
    class Program
    {


        static void Main(string[] args)
        //aici incepe main
        {
            //Prima linie - numele
            //Fiecare linie - Materie Nota
            //#
            //Prima linie - numele
            //#
            //Prima linie - numele
            //Fiecare linie - Materie Nota
            //#

            string adresa = Console.ReadLine();

            FileStream fileCuNote = new FileStream(adresa, FileMode.OpenOrCreate);
            StreamReader cititor = new StreamReader(fileCuNote);

            FileStream fileCuMedii = new FileStream(@"C:\medii.txt", FileMode.OpenOrCreate);
            StreamWriter scriitor = new StreamWriter(fileCuMedii);
            scriitor.AutoFlush = true;


            while(true)
            {
                if(cititor.EndOfStream)
                {
                    break;
                }
                else
                {
                    //Numele
                    string numele = cititor.ReadLine();

                    //Ar trebui sa fie ori o materie cu o nota or direct #
                    string linie = cititor.ReadLine();

                    float numarNote = 0;
                    float sumaNotelor = 0;

                    while (linie != "#")
                    {
                        string materia = linie.Substring(0, linie.IndexOf(" "));
                        string nota = linie.Substring(linie.IndexOf(" ")+1);

                        int notaCaNumar = int.Parse(nota);

                        numarNote = numarNote + 1;
                        sumaNotelor = sumaNotelor + notaCaNumar;

                        Console.WriteLine(numele + " are la materia " + materia + " nota " + nota);

                        linie = cititor.ReadLine();
                    }
                    
                    Console.WriteLine("----------------------------");

                    float media = sumaNotelor/numarNote;

                    Console.WriteLine(numele + " media generala " +media);
                    Console.WriteLine("----------------------------");
                    Console.WriteLine();

                    scriitor.WriteLine(numele + " " + media);
                }

                
            }

            Console.ReadLine();

            

        }




    }
}

Last edited Nov 7, 2009 at 1:49 AM by winromulus, version 2

Comments

No comments yet.