2016-04-13 4 views
0

Ich versuche, eine Zeichenfolge in eine Textdatei anhängen anhängen, aber ich bekomme die folgende AusnahmeWie eine Zeichenfolge in eine Textdatei in C# Windows-Universal-Apps

An exception of type 'System.UnauthorizedAccessException' occurred in System.IO.FileSystem.dll but was not handled in user code 

Additional information: Access to the path 'E:\Dev\interactiveappdev_groupproject\CardGameSol\CardGame\bin\x86\Debug\AppX\Cards\Data\myCards.txt' is denied. 

Der Code ist

string path = @"Folder1\\Folder2\\file.txt"; 
System.IO.File.AppendAllText(path, "text content"); 

Wie löst man dieses Problem? Was ist der beste Weg, um eine Zeichenfolge in eine TXT-Datei anzuhängen?

+0

Es klingt wie ein Berechtigungsproblem. Versuchen Sie, Ihre Datei irgendwo außerhalb Ihres bin-Verzeichnisses zu platzieren. –

+0

funktioniert es, wenn Benutzer die App aus dem Laden heruntergeladen haben? Wenn ja, wie ändere ich das? – Hatim

Antwort

-1

Es klingt wie Ihre Datei verwendet wird, wenn Sie versuchen, darauf zu schreiben. UWP spezifische Windows.Storage.FileIO Klasse Aber Sie sollten mit wechselnden Code starten, ist es besser zu nutzen:

await Windows.Storage.FileIO.AppendTextAsync(file, "text content"); 

‚Datei‘ ist Ihr Ziel IStorageFile, und so, wie Sie es hängt davon ab, zu erwerben, wo es sich befindet .

0

In UWP haben Sie nicht nur Zugriff auf alle Dateien auf Ihrem Gerät. Die App hat Zugriff auf einen eigenen Ordner und angegebene Bibliotheken in Funktionen. Für weitere Informationen werfen Sie bitte einen Blick auf at MSDN.

Wenn Sie eine Datei an einem anderen Speicherort speichern möchten - es ist möglich, aber der Benutzer muss dies für Ihre App zulassen. Dies kann über FileSavePicker erfolgen - grundsätzlich wählt der Benutzer die Datei und Sie können darauf schreiben. Um die Datei später nutzbar zu machen, können Sie sie in FutureAccessList speichern, wo auch Privilegien gespeichert sind.

0

System.Io wird Ausnahme Ausnahme verwenden FileIO stattdessen wie zuvor erwähnt. Hier ist das Beispielschnipsel

StorageFolder folder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("MyFolder", CreationCollisionOption.ReplaceExisting); 
StorageFile fileToSave = await folder.CreateFileAsync("file.txt", CreationCollisionOption.ReplaceExisting); 
await FileIO.AppendTextAsync(fileToSave, "text content"); 
Verwandte Themen