Základ C# 22 – Užitočné triedy 1 – Vstup a výstup súborov [File IO]

Dnes si predstavíme základný vstup a výstup zo súborov, vďaka čomu budete schopný ukladať a čítať data.

Čítanie údajov zo súboru je vďaka .NETu pomerne jednoduché a podobne je na tom aj zapisovanie. Čítanie a zapisovanie prebieha cez triedy z namespace System.IO a tak ho pridajte pomocou using System.IO; . V tomto a ďalších dieloch už nebudem na tieto veci upozorňovať a budem väčšinou používať anglické výrazy. Taktiež sa môže stať že namiesto slova metóda použijem slovo funkcia, čo je označenie metód z mnohých iných jazykov. Okrem toho tu bude minimum príkladov a je na vás si veci, ktoré vám ukážem vyskúšať.

Čítanie cez StreamReader

StreamReader je najjednoduchší spôsob ako čítať zo súboru – Nový objekt tejto triedy vytvoríte s parametrom typu string, ktorý bude označovať cestu k súboru. Následne môžete čítať viacerými metódami:

1. Metóda ReadToEnd – pomocou nej môžete prečítať všetky údaje od aktuálnej pozície súbora po koniec. Pokiaľ ste práve otvorili súbor tak ste na začiatku súboru a prečítate celý súbor.

2. Metóda ReadLine – prečíta časť súboru od aktuálnej pozície, po najbližší koniec riadku.

3. Metóda ReadBlock – prečíta časť súboru do poľa typu char z aktuálnej pozície. Druhý parameter určuje od ktorej pozície v poli sa má zapisovať a tretí maximálnu dĺžku.

4. Metóda Read – prečíta jeden nasledujúci znak.

Najčastejšie budete používať ReadToEndReadLine. Po dokončení je nutné súbor uzavrieť metódov Close.

Zapisovanie cez StreamWriter

StreamWriter je opak StreamReaderu a umožňuje práve zapisovanie. Tvorba objektu prebieha rovnako ako pri StreamReaderi. Metódy zápisu sú len 2 a to WriteLine, čo zapíše text na koniec súboru a pridá nový riadok. Metóda Write funguje podobne akurát nezapisuje nový riadok.

Čitanie a zapisovanie cez File

File je statická trieda, pomocou ktorej môžete získať rôzne informácie o súboroch. Čítanie prebieha metódami ReadAllLines, ReadAllText, ReadLines alebo ReadLines. Prvé metódy fungujú podobne ako pri StreamReaderi, posledná číta priamo do typu byte[]. Zapisovanie funguje opačným spôsobom a to metódami WriteAllLines, WriteAllText alebo WriteAllBytes. Ako parameter všetkých metód je meno súboru, v prípade metód aj údaje, ktoré chcete zapísať.

Použitie triedy Stream

Trieda stream je základná trieda pomocou ktorej prebieha všetko čítanie a zapisovanie – triedy a metódy, ktoré sme si ukázali sú odvodené od nej. Niekedy je výhodnejšie použiť práve čistú triedu Stream. Na vytvorenie objektu typu Stream stačí takýto kód :

<span class="lang:c# decode:true crayon-inline">Stream stream = File.Open("cesta k suboru", FileMode.Open, FileAccess.ReadWrite);</span>

Pomocou metódy File.Open sme otvorili stream súboru. Prvým argumentom je meno súboru, druhým čo so súborom chcete robiť (Otvoriť, vytvoriť nový atd.) a tretím ako chcete k súboru pristupovať – čítať, zapisovať alebo oboje.

Čítanie a zapisovanie prebieha metódami Read a Write. Prvým argumentom je Pole byte[] do/z ktorého sa budú údaje čítať/zapisovať. Druhý argument je miesto, kam sa budú dáta v poli zapisovať, alebo z ktorého miesta v poli sa budú čítať a posledný je dĺžka, ktorú prečítate.

 To by bolo čítanie alebo zápis do súboru a nabudúce si ukážeme niektoré matematické pomôcky.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená.

Scroll to Top