ファイルに同期書き込みが必要ですが、非同期を行う方法がありますが、私の場合はそうではありません。異なるファイルに同期書き込みを行い、アクセスが拒否されました
他のpage.xmlからナビゲートした後、私はメインページに来て、onnavigatedメソッドで、前のページから取ったテキストをfile.txtに書き込む必要があります。 (それは私がアプリの最初のオープンからのデータを保存するために考えてみましょうとアプリがそれを開くたびにはもうチュートリアルをしないにこれらのデータをロードする)
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);
}
と私はFile.WriteAllText("C:/Users/giuli/Documents/Source/xxx/XXX/XXX/Data/data1.txt", ciccio);
にしようとした場合私は同期メソッドを使用することができないことを教えてくれる例外があります: "同期処理をUIスレッドで実行してはいけません。このメソッドをTask.Runにラップすることを検討してください。
が、私がする必要がある、と私はFile.WriteAllText("Data/data1.txt", ciccio);
にしようと、私は System.UnauthorizedAccessExceptionを得る:パスへ アクセスが
を否定し、私はいくつかの非同期メソッド
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);
にしようとした場合私は を得るSystem.UnauthorizedAccessException: 'アクセスできない
私は視覚スタジオを介してファイルdata.txtを作成しましたが、それはopeではありませんVS上でnと私は誰もそのファイルがVSではなく存在することを知っていると思う。
どうすればそのファイルに書き込むことができますか?
感謝。)
「読み取り同期と非同期メソッドの仕事の完璧な、それはパス Regione.RegNome = File.ReadAllText("Data/data1.txt");
についての問題ではないので、」UIスレッドなしからの同期APIを呼び出すことがないと言って
いつも私はファイルに何かを書いていますが、私が持っているファイルを削除して置き換えなければなりませんでしたか?あなたのリンクでは、私が "FileIOを待つ"と同じことをファイルに書き込むために使用しなければならないと言っているからです。WriteTextAsync(sampleFile);と私は同じアクセスエラー(私は私の既存のファイルに書き込もうとする場合)が、私はcreatefileasyncとは、すでにそれが私にそれを書くことができるものを置き換える場合。なぜそんなに難しいの?私はちょうどtxtの単語のシンプルなカップルを書いてみたいです... – Uopo