Folgende Codebeispiele zeigen, wie man ein Dateien und Verzeichnisse im IsolatedStorage erstellen, lesen und löschen kann.
Überprüfung ob ein File im IsolatedStorage existiert:
1
2
3
4
5
6
7
| private bool FileExist(string fileName)
{
using (var file = IsolatedStorageFile.GetUserStoreForApplication())
{
return file.FileExists(fileName);
}
} |
File erstellen:
1
2
3
4
5
6
| var myFile = "MyFile.txt";
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!file.FileExists(myFile))
file.CreateFile(myFile).Close();
} |
Der Aufruf der Close() Methode bewirkt, das der Prozess der das File verwendete, selbiges wieder freigibt.
File lesen:
1
2
3
4
5
6
7
8
| using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
//weiterverarbeitung, bsp deserialize
using (var reader = new JsonTextReader(new StreamReader(fileStream)))
{
var td = serializer.Deserialize<List<TrainingDay>>(reader);
}
} |
File löschen:
1
2
3
4
5
6
| var myFile = "MyFile.txt";
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
if (file.FileExists(myFile))
file.DeleteFile(myFile );
} |
Existierende Files auslesen
1
2
3
4
| using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
string[] files = file.GetFileNames();
} |
Erstellen eines Ordners im IsolatedStorage
1
2
3
4
| using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
file.CreateDirectory("MyDir");
} |
Erstellen eines Unterordners im IsolatedStorage
1
2
3
4
| using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
file.CreateDirectory("MyDir/MySubDir");
} |
Wichtig ist hier die Verwendung eines Slashes anstatt eines Backslashes, da sonst versucht wird, das Verzeichnis absolut im Root anzulegen, was nicht erlaubt ist.
Ordner auslesen:
1
2
3
4
| using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
string[] folders = file.GetDirectoryNames();
} |
Löschen eines Ordners
1
2
3
4
5
| using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
if(file.DirectoryExists(MyDir"))
file.DeleteDirectory("MyDir");
} |
Und zum Schluss, wie man den Isolated leeren kann:
1
| IsolatedStorageFile.GetUserStoreForApplication().Remove(); |
Da der IsolatedStorage nicht nur geleert, sondern komplett gelöscht wurde, muss man bei einer erneuten Verwendung des Speichers auf IsolatedStorageFile.GetUserStoreForApplication() erneut referenzieren, wodurch dieser neu angelegt wird. Wer jedoch wie hier beschrieben using verwendet und das Anlegen in einem anderen Kontext durchführt, der sollte keine Problem haben.
Viel Spaß beim entwickeln : )