WinRT lokale Dateien lesen und schreiben

Für ein weiteres VB.NET Beispiel brauche ich viele Daten. Diese liegen in einem Text File und diese Datei muss ich öffnen. Das ist in einem Sandboxed System nicht ganz einfach. Der Zugriff auf Benutzerdaten unter Windows 8  der lokalen Festplatte ist auf die Bibliotheken Dokumente, Bilder, Musik und Videos beschränkt.

Also müsste folgender Code funktionieren um eine Datei zu erzeugen.

Try
            Dim sf1 As StorageFolder = KnownFolders.DocumentsLibrary
            Dim sampleFile = Await sf1.CreateFileAsync("sample.txt", CreationCollisionOption.ReplaceExisting )    
Catch ex As Exception Dim msg As MessageDialog = New MessageDialog(ex.Message) msg.ShowAsync().AsTask() End Try

Tut es aber nicht. Es kommt eine Acces denied Exception.

image

Man muss im Manifest der Anwendung erst die Rechte auf die Dokument Library gewähren.

image

Das reicht aber noch immer nicht. Als nächste muss laut meinen Tests noch eine File Typ Assoziation für die Erweiterung txt angelegt werden.

image

image

Dann funktioniert auch das einlesen meiner txt Datei aus myDocuments.

 Dim sf = Await Windows.Storage.KnownFolders.DocumentsLibrary.GetFileAsync("vorname.txt")
 Dim s As String = Await FileIO.ReadTextAsync(sf)

Der kleine Nebeneffekt ist, das nun die APP für die Erweiterung txt im Explorer registriert ist.

Pingbacks and trackbacks (1)+

Kommentare sind geschlossen