This article has been localized into Czech by the community.
Úvod
Ve frameworku .NET se koncept proudů (Streams) používá vždy, když chcete číst a/nebo zapisovat data z/do široké škály zdrojů/cílů, např. v paměti, do souboru, přes síťové připojení nebo v podstatě v jakékoli jiné situaci, kdy chcete přenášet bajty z jednoho místa na druhé.
Při práci s mnoha třídami souvisejícími s IO (vstupem/výstupem) ve frameworku .NET uvidíte, že mají metody, které přijímají parametr typu Stream. Stream je základní třída pro práci s řetězci a může nabývat mnoha forem, např. MemoryStream nebo FileStream, jak uvidíme v následujících článcích. Třída Stream sama o sobě je však abstraktní, což znamená, že ji nelze instanciovat (vytvářet na ni instanci) - slouží pouze jako společná základní třída pro různé typy proudů.
Většina typů proudů (Streams) umí dělat tři věci: číst, zapisovat a vyhledávat (přesunout se na nové místo v proudu, aby bylo možné odtud číst nebo zapisovat místo z aktuální pozice). Proto třída Stream implementuje tři metody pro rozhodování, zda odvozená třída proudů může toto dělat: CanRead, CanWrite a CanSeek. Tyto vlastnosti můžete vždy konzultovat u proudu, se kterým pracujete, abyste se ujistili, že vaše požadovaná operace (např. zápis) je dostupná.
Proud (Stream) by vždy měl být uvolněn, jakmile s ním dokončíte práci. V opačném případě by mohl držet zámek na zdroji, který by už neměl být zamčen, např. soubor při použití FileStreamu. Základní třída Stream implementuje rozhraní IDisposable, takže jeho uvolnění je tak jednoduché jako volání metody Dispose(), nebo možná ještě lepší, zapouzdření použití proudu do bloku using() (to je přístup, který budeme v tomto tutoriálu používat).
Stream Readers a Writers
Běžné využití proudů je jako základní zdroj pro jednu z tříd Reader nebo Writer, například FileReader nebo BinaryWriter. Svůj proud můžete předat novým instancím těchto tříd, abyste například přečetli celý soubor, upravili ho v paměti a poté ho zapsali zpět - možností je mnoho. Toto uvidíme demonstrováno také v následujících článcích.
Shrnutí
Proud (stream) je v podstatě mechanismus pro přesun bajtů z jednoho místa na druhé, například do souboru nebo ze síťového zdroje. Framework .NET používá abstraktní třídu Stream jako základ pro všechno, také nabízí několik odvozených implementací, například FileStream a MemoryStream, o kterých si povíme v následujících článcích.