J'ai besoin d'écriture synchrone sur un fichier, je sais qu'il existe des méthodes pour faire cela asynchrone mais ce n'est pas mon cas. Après avoir navigué à partir d'un autre page.xml je viens à ma page principale et dans la méthode onnavigated j'ai besoin d'écrire dans un fichier.txt un texte que je prends de la page précédente. (c'est comment je pensais à économiser des données d'une première ouverture de l'application et à chaque fois que l'application va ouvrir chargera ces données pour ne pas faire tutoriel plus)écriture synchrone sur un fichier différentes exceptions et accès refusé
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Regione = e.Parameter as regione;
string ciccio = "" + Regione2.RegNome.ToString() + "," + Regione2.RegLat.ToString() + "," + Regione2.regLon.ToString();
//File.WriteAllText("Data/data1.txt", ciccio);
File.WriteAllText("C:/Users/giuli/Documents/Source/xxx/XXX/XXX/Data/data1.txt", ciccio);
}
et si je tente avec le File.WriteAllText("C:/Users/giuli/Documents/Source/xxx/XXX/XXX/Data/data1.txt", ciccio);
Je reçois une exception qui me dit que je ne peux pas utiliser la méthode de synchronisation: "Les opérations synchrones ne doivent pas être effectuées sur le thread de l'interface utilisateur. Envisagez d'enrouler cette méthode dans Task.Run."
ok mais je dois, et je l'ai essayé avec File.WriteAllText("Data/data1.txt", ciccio);
et je reçois un System.UnauthorizedAccessException: accès au chemin refusé
et si je tente avec une méthode async
Windows.Storage.StorageFolder installedLocation = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFile File2 = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Data/data1.txt"));
await Windows.Storage.FileIO.WriteTextAsync(File2, ciccio1);
je reçois un System.UnauthorizedAccessException: 'Accesso negato
J'ai créé le fichier data.txt via Visual Studio, ce n'est pas ope n sur VS et je pense que personne ne sait que ce fichier existe plutôt que VS.
Comment écrire enfin sur ce fichier?
Merci.)
« la synchronisation de lecture et la méthode async travail parfait il est donc pas un problème sur le chemin Regione.RegNome = File.ReadAllText("Data/data1.txt");
»
alors à chaque fois que je veux écrire quelque chose sur un fichier j'ai dû supprimer et remplacer le fichier que j'ai? parce que dans votre lien dire que je dois utiliser pour écrire dans un fichier la même chose que j'ai fait avec "attendre FileIO.WriteTextAsync (sampleFile); et je prends la même erreur d'accès (si j'essaie d'écrire sur mon fichier existant), mais si je crée createfileasync et remplace celui qui existe déjà, il me permet d'écrire dessus. pourquoi est-ce si difficile ?! Je veux juste écrire un couple de mots simples dans un txt ... – Uopo