Lépések: Fájl létrehozásához: 1. FileStream fs = new FileStream("filenev.txt", FileMode.Create); (vagy) Fájl hozzáíráshoz: 1. FileStream fs = new FileStream("filenev.txt", FileMode.Append); (Ha a feladat más fájlformátumot kér, akkor ne txt-be ments!) Fájl kezelés értelmezése: 2. StreamWriter sw = new StreamWriter(fs, Encoding.UTF8); (Innentől az sw-vel kezeljük a file-t: pl.: sw.WriteLine("Sorszöveg")) (Ez maga a köztes rész, itt kell kezelni mindent ami a file-hoz tartozik) StreamWriter bezárása: 3. sw.Close(); FileStream bezárása: 4. fs.Close();
FileStream fs = new FileStream("filenev.txt", FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.WriteLine("nev;osztaly;atlag"); // iskola tanulóinak az átlagának mentése
// ez egy felső címsort (fejlécet) csinál, ami feladattól függ, hogy kéri-e
for (int i = 0; i < tanulok.Count; i++)
{
sw.WriteLine($"{tanulok[i].Nev};{tanulok[i].Osztaly};{tanulok[i].Atlag}");
// Egy előre megadott tanulok osztály listával dolgozik, ahol minden tanulot felír a txt fájlba
// Magyarul megadjuk ; jelek elé és közé a tartalmat, amit ki akarunk íratni
}
sw.Close();
fs.Close();
Listába való beolvasás: Lépések: Fájl beolvasása: 1. FileStream fs = new FileStream("filenev.txt", FileMode.Open); (Ha a feladat más fájlformátumot kér, akkor ne txt-t nyiss meg!) Fájl kezelés értelmezése: 2. StreamReader sr = new StreamReader(fs, Encoding.UTF8); (Innentől az sr-rel kezeljük a file-t: pl.: sr.ReadLine() => egy sor beolvasása a file-ból) (Ez maga a köztes rész, itt kell kezelni mindent ami a file-hoz tartozik) StreamReader bezárása: 3. sr.Close(); FileStream bezárása: 4. fs.Close();
List tanulok = new List(); // Tanulo osztályú lista létrehozása
// Ez a lista az alábbiakat kéri: név;osztály;átlag
FileStream fs = new FileStream("filenev.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.UTF8);
// Amennyiben van fejléc (első soros címsor) be kell olvasni az első sort
sr.ReadLine();
while (!sr.EndOfStream) // Amíg a txt végére nem ér
{
string sor = sr.ReadLine();
tanulok.Add(new Tanulo(
sor.Split(';')[1],
Convert.ToInt32(sor.Split(';')[1]),
Convert.ToInt32(sor.Split(';')[2])
));
// Így a tanulok listához hozzáadunk mindig egy új Tanulo-t, akiknek az elemeit a ; Split-elésével érünk el.
// Ha mondjuk a txt file-ban mással választja el őket, akkor nyilván ; helyett a megadott karaktert kell megadni.
}
sr.Close();
fs.Close();
Sor tartalmainak tárolása listában: string[] parts = sor.Split(';'); Tartalom különszedése listán belül: string[] innerparts = parts[Tartalom_indexe].Split('.'); Így mostmár hozzá tudunk rendelni az adott részhez: pl.: Convert.ToInt32(innerparts[0])
List tanulok = new List(); // Tanulo osztályú lista létrehozása
// Ez a lista az alábbiakat kéri: név;osztály;átlag;születési_év;születési_hónap;születési_nap
// Viszont a txt mondjuk nem szedi külön az évet, hónapot napot, hanem egyben írja .-tal elválasztva
FileStream fs = new FileStream("filenev.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.UTF8);
// Amennyiben van fejléc (első soros címsor) be kell olvasni az első sort
sr.ReadLine();
while (!sr.EndOfStream) // Amíg a txt végére nem ér
{
string sor = sr.ReadLine();
string[] parts = sor.Split(';');
string[] innerparts = parts[3].Split('.');
tanulok.Add(new Tanulo
(parts[0],
Convert.ToInt32(parts[1]),
Convert.ToInt32(parts[2]),
Convert.ToInt32(innerparts[0]),
Convert.ToInt32(innerparts[1]),
Convert.ToInt32(innerparts[2])));
}
sr.Close();
fs.Close();