Kezdőlap > .NET, Windows Phone 7 > I/O műveletek

I/O műveletek

2012. május 1. kedd Hozzászólás Go to comments

A Windows Phone 7-nél nem beszélhetünk klasszikus értelemben a fájlkezelésről: ha I/O műveleteket szeretnénk elvégezni a fájlrendszeren, akkor csak az Isolated Storage áll a rendelkezésünkre. Ahogy a neve is mutatja, ez egy tárhely (Storage), ahol az alkalmazásunk képes írni, olvasni, valamint az általános fájlműveleteket is el tudja végezni. Minden alkalmazás kérhet magának egy-egy ilyen elkülönített tárhelyet, vagyis az alkalmazások nem férhetnek hozzá egymás tárhelyéhez. Minden alkalmazás csak a saját Isolated Storage-ében tud garázdálkodni, ott viszont úgy, ahogy csak szeretné. Közvetlen módon tehát nem érhetjük el a teljes fájlrendszert, csak és kizárólag az alkalmazásunk által használt Isolated Storage-ünket, így más alkalmazások semmilyen módon nem befolyásolhatják az alkalmazásunk működését, ezzel növelve a biztonságot és a fájlkárosodás elkerülését. A Windows Phone 7 Isolated Storage megoldása nagyon hasonló a Silverlightos Isolated Storage megoldásához, mindössze annyi a különbség, hogy itt nincs megszabva kvóta, mint a Silverlightnál, vagyis itt egy alkalmazás korlátlanul gazdálkodhat a tárhellyel.

De sok szóbeszéd helyett, nézzünk egy példát:

Minden I/O műveletet használó alkalmazásnál szükségünk lesz a System.IO és a System.IO.IsoltedStorage névtérre.

using System.IO.IsolatedStorage;

using System.IO;

Fájl írása: ahhoz, hogy egy új fájlt létrehozzunk, az IsolatedStorageFileStream osztályra lesz szükségünk. Ennek az osztálynak a példányosításakor kell meghatároznunk a fájl nevét és annak elérési módját (FileMode enumeráció), valamint át kell adnunk egy IsolatedStorage példányt is. Ebben az egyszerű példában egy fájlt hozunk létre, mely a „Hello World” szöveget tartalmazza:

IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();

 

using (IsolatedStorageFileStream myFileStream = new IsolatedStorageFileStream("data.txt", FileMode.Create, isf))

{

    StreamWriter sw = new StreamWriter(myFileStream);

    sw.WriteLine("Hello World");

    sw.Flush();

    sw.Close();

}

A GetUserStoreForApplication metódus egy IsolatedStorageFile példányt ad vissza. A fájlba egy StreamWriter példány segítségével írhatunk. Ennek kell átadnunk egy Stream-et, ez ebben az esetben egy IsolatedStorageFileStream, majd a StreamWriter példány WriteLine metódusával írhatunk egy sort a fájlba.

A fájlból való olvasás hasonlóan egyszerű, annyi a különbség, hogy a FileMode ebben az esetben az Open értékét viseli, valamint egy StreamReader példányt használunk az olvasáshoz.

IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();

 

using (IsolatedStorageFileStream myFileStream = new IsolatedStorageFileStream("data.txt", FileMode.Open, isf))

{

    StreamReader sr = new StreamReader(myFileStream);

    string text = sr.ReadToEnd();

    MessageBox.Show(text);

}

Nézzünk további gyakori I/O műveleteket:

Könyvtár létrehozáshoz a CreateDirectory metódust használhatjuk fel, ahol a metódusnak a könyvtár nevét adjuk át:

IsolatedStorageFile myISF = IsolatedStorageFile.GetUserStoreForApplication();

myISF.CreateDirectory("UjKonvtar");

Megadhatunk összetett könyvtár útvonalat is:

myISF.CreateDirectory("Folder1/Folder2/Folder3/UjKonvtar");

Egy könyvtár törlése is legalább ilyen egyszerű, ehhez a DeleteDirectory metódust használhatjuk fel:

myISF.DeleteDirectory("UjKonvtar");

Reklámok
Kategóriák:.NET, Windows Phone 7 Címke: , ,
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: