WPF アプリケーションでデータ ファイルをローカルに保存するフォルダー 質問する

WPF アプリケーションでデータ ファイルをローカルに保存するフォルダー 質問する

現在、WPF アプリケーションには、まさに私が望んでいることを実行する以下のコードがありますが、これを公開すると、正しいディレクトリを指していないかフォルダーが存在しないため、必ずしもこれらのフォルダーの場所にアクセスできるとは限りません。

ローカル フォルダーに何かを保存する最適な方法を誰かに教えていただけないでしょうか?

アプリケーション フォルダー自体内にあるかどうかも問題ではありません。

現在ファイルの書き込みに使用しているコード:

using (Stream stream = File.Open(@"..\..\Templates\data.bin", FileMode.Create))
            {
                BinaryFormatter bin = new BinaryFormatter();
                bin.Serialize(stream, templateList);
            }

現在ファイルの読み込みに使用しているコード:

using (Stream stream = File.Open(@"..\..\Templates\data.bin", FileMode.Open))
        {
            BinaryFormatter bin = new BinaryFormatter();

            templateList = (List<Template>)bin.Deserialize(stream);
        }

ベストアンサー1

Environment.SpecialFolder を使用して、ファイルを置く適切な場所を見つけることができます (たとえば、ApplicationData から始めるのがよいでしょう)。一時ファイルだけが必要な場合は、Path.GetTempFileName を使用して作成できます。

編集: 最後にもう 1 つ。アプリケーション フォルダー自体にデータを保存するのは非常に面倒です。通常、アプリケーション フォルダーはインストール中に管理者アカウントで作成されるため、ユーザー アカウントで実行している間はアプリからそのフォルダーに書き込むことはできません。

おすすめ記事