Fájl és a Stream IO

Fájl és Patak bemeneti és kimeneti továbbítjuk az adathordozóról vagy a rajta tárolt adatok. A .NET-keretrendszer System.IO hely platform tartalmazhat neveket típusok, amelyek mind a szinkron és aszinkron fájlok olvasására és írására és adatáramlás műveleteket. Ezen túlmenően, az ilyen típusú tartalmazhat névtér működési tömörítés és kicsomagolás fájlokat, valamint típusok, amelyek lehetővé teszik a kommunikációs csatornákon keresztül és a soros port.

File - egy megnevezett, és elrendelte bájtsorozatok, amelyek tartós tárolására. Amikor dolgozik használt fájlok utak tárolók, valamint a nevét a fájlok és könyvtárak. Ellentétben fájl folyam - bájtok sorozata, amely lehet használni a felvétel vagy olvasás egy kiegészítő tároló eszköz, az egyik tárolóeszközök (például lemez vagy a memória). Rengeteg féle tárolóeszközök eltérő lemezek, és van többféle áramlások, amellett, hogy a fájl-folyam, például hálózati folyamok, memória patakok és folyam csatornákat.

Típusok a System.IO névtér lehet használni, hogy befolyásolja a fájlokat és könyvtárakat. Például lehetőség van get és set tulajdonságait fájlokat és könyvtárakat, valamint a kivonat olyan fájlok és mappák keresési feltételek alapján.

Az alábbiakban néhány gyakran használt osztályok a fájlok és könyvtárak:

Fájl olyan statikus módszerek létrehozása, másolása, törlése, áthelyezése és fájlok megnyitása, és abban is segít, hogy hozzon létre egy objektumot FileStream.

FileInfo előírja például módszerek létrehozása, másolása, törlése, áthelyezése és fájlok megnyitása, és abban is segít, hogy hozzon létre egy objektumot FileStream.

Directory statikus módszer létrehozása, áthelyezése és felsoroló könyvtárak és alkönyvtárak.

DirectoryInfo biztosít metódusai létrehozására, áthelyezése és felsoroló könyvtárak és alkönyvtárak.

Path módszerek és tulajdonságok feldolgozásra könyvtár húrok middleware módon.

Amellett, hogy használja ezeket osztályok, Visual Basic felhasználók használhatják a módszerek és tulajdonságok által Microsoft.VisualBasic.FileIO.FileSystem class fájl IO.

Folyamok tartalmazzák három alapvető műveleteket:

Reading - átadása információáramlás egy adatstruktúrában, például egy sor bájt.

Felvétel - transzfer adatfolyamot az adatforrás.

Keresés - meghatározása és változtatni a jelenlegi helyzetben a patak.

Attól függően, hogy a forrás, vagy bázis tároló adatfolyam csak támogatni ezek közül néhány. Például PipeStream osztály nem támogatja a keresést. Tulajdonságok CanRead. CanWrite CanSeek áramlás, és meghatározza a támogatott műveletek áramlását.

Az alábbiakban néhány gyakran használt adatfolyam osztályok:

FileStream - olvasni és írni egy fájlt.

IsolatedStorageFileStream - olvasni és írni egy fájlt izolált tárolására.

MemoryStream - írni és olvasni a memóriába, mint egy hát.

BufferedStream -, hogy javítsa a sebesség olvasási és írási műveletek.

NetworkStream - az olvasás és írás a hálózati aljzatba.

PipeStream - írni és olvasni egy névtelen és named pipe.

CryptoStream - kommunikációs adatfolyamot kriptográfiai transzformáció.

Példa aszinkron streaming cm. Az aszinkron fájl input-output.

Az olvasás és írás nagy mennyiségű adatot lehet erőforrás-igényes. Ezeket a feladatokat kell elvégezni aszinkron, ha a kérelmet továbbra is meg kell válaszolni a felhasználók kéréseire. Abban az esetben, szinkron IO UI téma blokkolva mindaddig, amíg a fogyasztó művelet befejeződött. Amikor a fejlődő alkalmazások Windows 8.x üzletek aszinkron IO művelet, hogy elkerüljék a benyomást kelti, hogy az alkalmazás leállt munkájukat.

Compression nevezzük a folyamat csökkenti a méret a mentett fájlt. Kicsomagolás - az a folyamat kitermelése a tartalmát egy tömörített fájl, ami őt egy méret használható. Tér System.IO.Compression névtér osztályokat tartalmazza tömörítő és fájlokat és patakok.

A következő osztályok gyakran használják tömörítésére és kibontására fájlokat és patakok:

ZipArchive - létrehozása és visszaállítása a tartalmát egy ZIP-archívum.

ZipArchiveEntry -, hogy képviselje a tömörített fájlt.

Zipfile - megteremteni, kivonat és nyissa meg a tömörített csomagot.

ZipFileExtensions - a tartalom létrehozása és visszakeresése a tömörített csomagot.

DeflateStream - a tömörítés és kicsomagolás folyik keresztül Deflate algoritmus.

GZipStream - tömörítésére és kibontására patakok gzip formátumú.

Elkülönített tárolási - a tárolórendszer, amely elszigetelten és biztonsági meghatározásával szabványosított módon mapping kódot a tárolt adatokkal. Tárolás egy virtuális fájlrendszer, izoláljuk a felhasználó, összeszerelés, és (adott esetben) egy domain. Elkülönített tárolási különösen hasznos, ha a kérelem nem rendelkezik engedéllyel a hozzáférni a felhasználó fájlokat. Ön tudja menteni a beállításokat, vagy fájlokat az alkalmazás oly módon, hogy a számítógép vezérli biztonsági politika.

Elkülönített tárolási nem érhető el az App Store a Windows 8.x Ehelyett használja az alkalmazás adatait osztályok, amelyek szerepelnek a tér Windows.Storage neveket. A részleteket lásd. A hozzáférés alkalmazás adatait a Windows Dev Center.

A következő osztályok gyakran használják, felismerve egy elszigetelt helyen:

IsolatedStorage rendelkezik egy alap osztályt végrehajtására elkülönített tárolására.

IsolatedStorageFile olyan izolált tároló, amely tartalmazza a fájlokat és könyvtárakat.

IsolatedStorageFileStream jelentése fájlt izolált tároló.

NET for Windows 8.x alkalmazás tárolja tartalmaznak sokféle írni és olvasni patakok, de ez meg nem tartalmazza az összes típusú .NET Framework IO.

Meg kell jegyezni, néhány fontos különbség a használata input-output műveletek alkalmazások a stílus Windows 8.x Shop:

Különleges típusok műveletekhez kapcsolódó fájlokat, mint például a Fájl. FileInfo. Directory és DirectoryInfo. nem szerepel a .NET alkalmazások Store a Windows 8.x Ehelyett használja típusok nevében Windows.Storage a Windows futtatási környezetet, mint a StorageFile és StorageFolder.

Elkülönített tárolási nem elérhető. Ehelyett használja az alkalmazás adatait.

Aszinkron módszerek, mint ReadAsync és WriteAsync. hogy megakadályozzák blokkolja az UI szál.

Azon kompressziós alapján az útból, és zipfile ZipFileExtensions érhető el. Ehelyett használja típusok a térben Windows.Storage.Compression neveket.

Ha osztályok System.IO névtér, meg kell felelnie a operációs rendszer biztonsági, például hozzáférés-vezérlési listák való hozzáférés szabályozására fájlokat és könyvtárakat. Ez a követelmény kiegészíti a másikat FileIOPermission követelményeknek. ACL vezérelhető algoritmikusan. További információért lásd. Hogyan. Hozzáadása vagy törlése ACL bejegyzéseket.

Az alapértelmezett biztonsági politika nem teszi lehetővé a hozzáférést a fájlokat a felhasználó számítógépén az interneten keresztül, vagy intranet alkalmazások. Ezért összeállításakor a kód nem használható az input-output osztályok, ami kell egy utat, hogy a fizikai letöltött fájlok az interneten vagy intraneten keresztül. Ehelyett használja elkülönített tárolási hagyományos .NET Framework alkalmazások, illetve az alkalmazási adatok App Store a Windows 8.x

biztonsági ellenőrzés elvégzését csak egy szál jön létre. Ezért nem ajánlott, hogy nyissa ki a patak, majd átadja azt a kódot alacsonyabb megbízhatósági szinten vagy alkalmazási területen.

Kapcsolódó cikkek