10. Fájlkezelés
Szükséges eszközök
using System.IO;
- egy névtér, ami tartalmazza a fájlkezelést segítő osztályokat és objektumokat
Stream
- a fájlkezelés alaposztálya, jelentése adatfolyam, bitek sorozata
Fájl manuális létrehozása
- Az oldalsávon a
Solution Explorer
alatt jobb click -> Open Folder in File Explorer
- Felhozza a projektünk mappáját, így nem kell külön keresgélni
- Lépjünk be a
bin
-> Debug
mappába - ha már lefordítottuk a programot, ide kerül a .exe
fájl is
- Hozzunk étre itt egy
.txt
fájlt
A fájlkezelés műveletei
File
- alaposztály, ami különböző fájlkezelési lehetőséget ad
File.Exists( <a fájl útvonala> )
- meghatározza, hogy adott helyen létezik-e az adott fájl
File.Copy( <a fájl útvonala> )
- új fájlt készít egy meglevő fájl alapján
File.Create( <a fájl útvonala> )
- új fájlt készít a megadott helyen
File.Delete( <a fájl útvonala> )
- törli az adott helyen található fájlt
Fájl olvasása
StreamReader
segítségével tudunk fáljokat olvasni
StreamReader <név pl.: olvaso> = new StreamReader( <fájl elérési útvonala> );
StreamReader olvaso = new StreamReader("bemenet.txt");
static void OlvasasFajlbol(string fajlUtvonal)
{
StreamReader olvaso = new StreamReader(fajlUtvonal);
}
static void Main(string[] args)
{
string fajlUtvonal = "bemenet.txt";
OlvasasFajlbol(fajlUtvonal);
}
- Ellenőrizzük, hogy létezik-e az adott útvonalon a fájl
if (File.Exists(fajlUtvonal)) {
// Olvassunk be a fájlból
} else {
// Jelezzük a felhasználónak, hogy a fájl nem létezik
}
static void OlvasasFajlbol(string fajlUtvonal)
{
if (File.Exists(fajlUtvonal))
{
StreamReader olvaso = new StreamReader(fajlUtvonal);
} else
{
Console.WriteLine("A megadott fajl nem talalhato!");
}
}
- A fájl sorait egy while ciklus segítségével érjük el, ami addig fut, amíg el nem érünk a fájl végére
while ( !<StreamReader változó pl.: olvaso>.EndOfStream )
{
string sor = <StreamReader változó pl.: olvaso>.ReadLine();
Console.WriteLine(sor);
}
static void OlvasasFajlbol(string fajlUtvonal)
{
if (File.Exists(fajlUtvonal))
{
StreamReader olvaso = new StreamReader(fajlUtvonal);
while ( !olvaso.EndOfStream )
{
string sor = olvaso.ReadLine();
Console.WriteLine(sor);
}
} else
{
Console.WriteLine("A megadott fajl nem talalhato!");
}
}
- Miután végeztünk az olvasással, fontos bezárni az olvasó objektumot, mert hibát okozhat ha ezt elfelejtjük
<StreamReader változó pl.: olvaso>.Close();
static void OlvasasFajlbol(string fajlUtvonal)
{
if (File.Exists(fajlUtvonal))
{
StreamReader olvaso = new StreamReader(fajlUtvonal);
while ( !olvaso.EndOfStream )
{
string sor = olvaso.ReadLine();
Console.WriteLine(sor);
}
olvaso.Close();
} else
{
Console.WriteLine("A megadott fajl nem talalhato!");
}
}
Fálj írása
StreamWriter
segítségével tudunk fáljokat írni
StreamWriter <név pl.: iro> = new StreamWriter( <fájl elérési útvonala>,
<szeretnénk-e, hogy az új tartalmat a meglévők mögé szúrja be> );
StreamWriter iro = new StreamWriter("kimenet.txt", true);
static void IrasFajlba(string fajlUtvonal)
{
StreamWriter iro = new StreamWriter(fajlUtvonal, true);
}
static void Main(string[] args)
{
string fajlUtvonal = "kimenet.txt";
IrasFajlba(kimenet);
}
- Egy új sor beszúrása a fájlba
string <ideiglenes változó név pl.: sor> = <A fájlba írandó szöveg>;
<StreamWriter változó pl.: iro>.WriteLine(<ideiglenes változó>);
static void IrasFajlba(string fajlUtvonal)
{
StreamWriter iro = new StreamWriter(fajlUtvonal, true);
string sor = "Egy uj sor\nSortoressel";
iro.WriteLine(sor);
}
- Miután végeztünk az írással, fontos bezárni az író objektumot, mert hibát okozhat ha ezt elfelejtjük
<StreamWriter változó pl.: iro>.Close();
static void IrasFajlba(string fajlUtvonal)
{
StreamWriter iro = new StreamWriter(fajlUtvonal, true);
string sor = "Egy uj sor";
iro.WriteLine(sor);
iro.Close();
}