Munka szöveges fájlok

Munka szöveges fájlok

Programot és az adatokat

Mindegyik program adatokat dolgoz fel. Program adatok nélkül egyszerűen nem létezik. Ezek a programok is három csoportba sorolhatók: bemenet, kimenet és a köztes. Bemeneti adatok - ezek olyan adatok, amelyek ismertek és meghatározni annak érdekében, hogy képes legyen megoldani a problémát. Output - ez az eredménye a probléma megoldásának, az adatok keletkezett a folyamat a probléma megoldásának. Általában, a legtöbb adat a közbenső által generált adatok legtöbb programok a döntési folyamatban, és nem az eredmény a probléma megoldásának.

Hol vannak a bemenetek? Ezek a felhasználó által beállítható során a probléma megoldásának. Azt is feltételezhetjük, hogy ebben sluchchae szervezett párbeszéd a felhasználó és a program. A konzol projektek intsiatorom párbeszéd a programot. Windows - projekt kezdeményezője a felhasználó.

A bemenő adatok bizonyos esetekben vannak beállítva a program a kezdetektől a munkáját. A programozó felelős létre ezeket az adatokat.

A nagy szoftver projektek a bemenő adatok külső forrásokból érkezik. A természet e források eltérő lehet. Ez lehet a tárolt adatok a számítógép külső memória, az érkező adatokat a vállalati hálózaton vagy az interneten, akkor érkező adatokat különféle eszköz is csatlakozik a számítógéphez.

A legegyszerűbb formájában tárolt adatokat külső memória, a fájlok. Bonyolultabb adatforrás egy adatbázis, egy komplex szervezett fájlrendszer egy szoftver rendszer, amely kezeli a hozzáférést a tárolt adatokat.

A programozó fájl egy sor olyan elemet, amely tárolja a külső memória. Fájl elemet nevezzük rekordokat.

Egy általánosabb összefüggésben nevű fájlban összegyűjtött kötött gyűjteménye papírok, dokumentumok. Az angol, az egyik értelemben a szó «File» - ez a tű, ami megszúrja ellenőrzések magyarul - nevű fájlt apuka tartani értékpapírok.

Az egyik leggyakoribb típusú fájlokat programozás egy szöveges fájl, amelyben minden bejegyzés kezelik szöveg. A leolvasott adatok a konzol, vagy a kimenetet a konzol lehet tekinteni, mint a szöveges fájlokat, amelyek a műveletek ReadLine és WriteLine nevû. Az első ilyen művelet, olvassa el a következő fájl bejegyzés - egy sort. A második - a következő bejegyzést a rekordok fájlt.

Hozzon létre egy szöveges fájlt

Meg kell emlékezni egy fontos funkció működik szöveges fájlokat programozás C #. Szöveges fájlokat kell menteni az UTF-8 (Unicode Text Format). Ezért, ha menteni kívánt fájlt telepíti a megfelelő kódolást. Amikor dolgozik Notepad választani megfelelő kódolás fülre „kódolás”. Amikor dolgozik a Visual sudio környezet előtt mentse a fájlt a menüből válasszuk a Fájl / Haladó kódolási beállítások ... A megnyíló ablakban állítsa be a kívánt kódolást.

A program létrehoz egy szöveges fájlt, úgy lent.

Megnyitása egy szöveges fájlt olvasásra

Tegyük fel, hogy a szöveges fájl jött létre. Hogyan olvashatom el a rekordot ezt a fájlt a program C #?

Befejeződése után a fájl olvasása kell zárni, és engedje szabadon a megfelelő erőforrást.

Vessünk egy közelebbi pillantást a folyamatot, egy szöveges fájlt egy konzol projekthez. Az első lépés, hogy hozzon létre egy konzol projekthez, például a nevét ConsoleTextFile. Az építési alapértelmezett Program osztály részén, adjunk hozzá egy hivatkozást a névtér

Tér IO (Input / Output) névtér tartalmaz sok hasznos val dolgozó osztályokat fájlokat.

A Program osztály, állapítsa meg az objektum bemenet, ami egy szöveges fájlt olvasásra:

/// A bemeneti fájlt olvasásra

statikus StreamReader bemenet;

Annak érdekében, hogy ne terhelje túl a protsedry Main, végre közvetlenül, hogy minden munkát társított fájl elosztjuk a feladatunk a részfeladatokat. Minden egyes feladat, kérdezze meg a módszer, és hívja ezeket a módszereket a Fő eljárást.

Az első lépés az, hogy adjunk egy pár sort a Main:

// Fájl megnyitása olvasásra

Logikai talált lesz állítva igaz, ha a fájl megnyitásához, és hamis - meghibásodás esetén. OpenReadFile módszer fájl megnyitása. Itt van, hogyan néz ki:

/// útvonal a bemeneti fájl kifejezetten megadva

/// Igaz, ha a fájl megnyitásakor sikeresen

statikus bool OpenReadFile ()

// Állítsa be a könyvtár elérési útját, amely tárolja a projekt, és a fájlt olvasásra

// Ellenőrizze, hogy létezik egy fájl a megadott könyvtárban

// Nyisson meg egy szöveges fájlt olvasásra

bemeneti = új StreamReader (path);

Console.WriteLine ( «A fájl megnyitásakor olvasásra");

Console.WriteLine ( «hiba a feladat fájl elérési útját!");

StreamReader osztály konstruktor létrehoz egy program objektum bemenet, és összeköti a fizikai fájl. Ez a művelet sikeres, ha az utat, hogy a szöveges fájl helyes. Mivel a hiba ebben a műveletben is előfordulhat meglehetősen gyakran (a fájl törlődik, mozgatni vagy elérési út nem érvényes), ez biztosítja meglétének ellenőrzése a fájl. Amikor azt vizsgáljuk, egy statikus metódust egy osztály létezik fájl, igazat ad vissza, ha a fájl létezik a megadott útvonalon, a hamis - ha a fájl nem áll fenn.

Helyes programozás igényli fájl megnyitása végezzük egy biztonságos egységet, amelyhez a catch blokk kezeli a kivételeket, amelyek akkor jelentkeznek, amikor a hiba a művelet, hogy nyissa meg a fájlt.

bejegyzések feldolgozása szövegfájlt

Ha a fájl feldolgozása bejegyzések azt feltételezzük, hogy a fájl megnyitása sikerült. Azt is feltételezzük, hogy a feldolgozás során egymás után olvasni és feldolgozni az összes fájlt rekordokat. Az első kérdés, ami felmerül az a fájlban tárolt, hogy megtudja, hány rekordot. Az egyik általánosan használt megoldások, mint sajátos Diákolimpia problémák a számítástechnikában vagy vizsga problémák, az, hogy az első fájl bejegyzés tartalmaz egy egész számát jelző további következő bejegyzéseket. Ebben az esetben az első rekord, egyértelmű, hogy hány sort szeretne olvasni a teljes fájlt feldolgozásra.

Egy másik módszer azon alapul tulajdonságai EndOfStream, amely a tárgy StreamReader osztály bemenet. Ez egy logikai tulajdonság igaz értékkel tér vissza, ha a végén a fájl, így könnyen hurok:

Add a Fő pár sornyi szöveget:

// olvasni és fájl feldolgozása

Ha a fájl sikeresen kinyitotta, hogy el lehet olvasni és feldolgozni és befejezett obrabotu kellene zárni a fájlt. ReadingFile eljárás végrehajtja az olvasás és a fájl feldolgozása. Ebben a példában, a módszer célja egyszerűen. Feltételezzük, hogy a fájl első sorában tartalmazza az aktuális rekordok száma. Ezért az első sorban olvassuk először, majd lesz ismert érték az n - tényleges száma rekordokat. Ezután egy ciklus n sorból olvassuk fájlt. Feldolgozó vonal ebben az esetben arra a következtetésre jutott SWFI a konzolra. Itt a szöveg a módszer:

/// Reading és fájl feldolgozása

static void ReadingFile ()

// Az első sor tartalmaz számos további kiterjesztése vonalak

A (int i = 0; i

string áram = input.ReadLine ();

// write feldolgozás - kimenet a konzolra.

Adjuk hozzá a Fő hívást egy másik módszert NextReading, amelyben a fájl újra megnyitotta és feldolgozott:

// újranyitása a fájlt és feldolgozás

Ebben az eljárásban, ha a fájl olvasása fogja használni a while ciklus. Itt van a kód ezt a módszert:

/// Reading és fájl feldolgozása

static void NextReading ()

Console.WriteLine ( «Re-nyílás és az olvasás a fájl");

string áram = input.ReadLine ();

// write feldolgozás - kimenet a konzolra.

A program létrehoz egy szöveges fájlt

Csakúgy, mint amikor dolgozik egy fájlt olvasásra, amikor dolgozik egy szöveges fájl szükséges felvételi obyavt megfelelő program objektum (fájl), a link, hogy a fizikai fájl, nyitott a bejegyzések és rögzítse a kívánt rekordok száma fájlt.

Mező hozzáadása objektum osztály Program kimenet, adja meg a fájl a kimeneti adatok, valamint egyéb tárgyakat, amelyek használják, amikor dolgozik fájlokat:

/// kimeneti fájl írásra

statikus StreamWriter kimenet;

statikus karakterlánc útvonal;

/// rekordok száma egy fájlban -

A Fő eljárást az eljárás hívás megnyitja a fájlt írásra:

// Fájl megnyitása írásra

Magától értetődik, hogy a fájl írásakor a helyzet eltér a fájl olvasása. Azt feltételezik, hogy a fizikai olvasási fájl nem létezik idején a felfedezés, különben hiba történik. Amikor megnyit egy fájlt a felvétel fájl nem létezik. Ebben az esetben a fizikai fájl (még üres) kell létrehozni, hogy a link, hogy a logikai fájl és nyitott az íráshoz. Ha a fájl létezik, és azt akarjuk, hogy írjon levelet, akkor két lehetőség van - régi rekordok törlése, és indítsa újra írás egy fájl vagy egy új bejegyzést egy meglévő fájlt. Itt OpenWriteFile módszer, amely figyelembe veszi ezeket a funkciókat:

/// írható fájlt.

/// Ha a fájl nem létezik, akkor létrejön

/// Ha a fájl létezik felülírja

static void OpenWriteFile ()

// A könyvtár elérési útját, amely tárolja a projekt, és a fájl írásra

// Nyitott hozzá rekordokat a file végére

// kimenet = new StreamWriter (path, true);

// A szöveges fájl, a régi bejegyzéseket eltávolítjuk

kimenet = új StreamWriter (path);

// Létrehozunk egy szöveges fájlt írni a fájlba

output = new StreamWriter (path, true);

Console.WriteLine ( «fájlt megnyitni írásra");

Mi most azt mutatják, egy egyszerű példát, hogy hogyan lehet elemeket hozzáadni egy fájlt. Tegyen be egy pár sort a Fő eljárás:

WritingFile eljárást ír a fájlba:

static void WritingFile ()

// Az első sor tartalmaz számos további kiterjesztése vonalak

A (int i = 0; i

string áram = (10 * i) .ToString ();

Console.WriteLine ( «A fájl kimeneti sikeresen írt");

Fájlokat az operációs rendszer erőforrásait. Release erőforrások

Egyértelmű, hogy ugyanaz a fájl lehet használni a különböző programokat. Valószínű, hogy fordulhat elő, ha egyszerre több program fut a számítógépen lesz szükség ugyanabban a fájlban. Operációs rendszer (OS) a számítógép szabályozza a hozzáférést a különböző programok egy fájlt, amely lehetővé teszi, hogy elkerüljék a konfliktusokat, míg írás, olvasás. Amikor az operációs rendszer biztosítja fájlt egy alkalmazás, az iratbetekintés blokkolva AJ minden más programot. A maga részéről a program befejezte a fájl kell felszabadítani az erőforrást, a bejelentő az operációs rendszer, hogy a fájl szabad és lehet adni egy másik program. Add, hogy a végén az eljárás főbb két sor osovobozhdayuschie források:

A projekt eredményeit

Munka szöveges fájlok

Ábra. 1 Az eredmények a projekt munka ConsoleTextFile

Töltse az előadás lehet a következő linken: