2016-09-05 7 views
0

Windows用のテキスト文書を保存する正しい方法は、他のユーザー用のアプリケーション実行可能ファイルです。今私はDでそれを得た:多分、より良い、この道を行く\ Proの\ binに\デバッグフォルダ通常Windows用のテキスト文書を見つける正しい方法アプリケーション実行可能ファイル

"doc.txt"; 

@"c:\temp\doc.txt"; 

またはこの:

"C:\ProgramData\doc\doc.text"; 

または多分よりよいです他の方法ですか?

  1. ドキュメントが彼のローカルコンピュータ上の各個別のユーザーのために利用可能である必要があり、各ユーザーが自分のドキュメント
  2. を持つプログラムは常に、この文書に要求を行うが、それは
  3. ドキュメント丼をアンインストールして削除する必要があります目に見える場所にいる必要があります
+1

%ProgramData%\ YourAppName \ doc.txt'を使用してください – stuartd

+0

**ハードコーディングされたパスは決して使用しないでください。これは非常に悪い習慣です**あなたはユーザーのコンピュータ上に存在するフォルダを知らない。 – Phil1970

答えて

0

最初の場所でプログラムを実行できるようにするには、別のユーザーがそのパスにアクセスする必要があるため、exeutableパスフォルダにファイルを保存する必要があります。

代替は次のようになります。

C:\Users\Public\AppData\Roaming\AppFolder または%ProgramData%

+0

と 'C:\ Users \%username%\ AppData \ Local \ Temp'と'%AppData%\ AppFolder'の間違いは何ですか? –

+0

そのパスはユーザーに属しているため、他のユーザーはそのパスにアクセスできないため、削除しました。 – null

+0

@ viktor80ハードコードされたパスが悪い...%username%がドライブ 'c:\ Users'の下にあるかどうかわかりません。あなたは常に定義済みのパスを取得するために関数を使うべきです! – Phil1970

1

あなたは、ドキュメントがユーザーごとであるべきか、すべてのユーザーであるべきかを言っていないので、質問は不完全です。また、一時的な文書であるかどうかは言いません。また、文書を目に見える場所に置くことを希望しているかどうかは示されません。

通常、ドキュメントはユーザードキュメントフォルダの下に保存する必要があります。

ちなみに、常にベースフォルダを取得するには、関数を使用してください。SpecialFolder通常、ユーザー文書の場合はMyDocumentsと指定します。通常、多くのファイルを作成するアプリケーションでは、独自のサブフォルダを作成することがあります(その目的でPath.Combineを使用します)。

多くのユーザーとデータを共有する場合は、すべてのユーザーに共通のフォルダを使用する必要があり、セキュリティを調整する必要があります。

あなたの質問に表示されている方法は、確かに非常に悪いですです。指定したハードコードされたフォルダが存在しない可能性があります。すべてのプログラマーは、フォルダがどのドライブがインストールされているか、OSの言語とバージョンによって異なることを知っている必要があります。

+0

okありがとうございます編集しました –

+0

まあ、通常、ユーザー文書は、プログラムのアンインストール時に削除されません。実際、アプリケーションがすべてのユーザー用にインストールされている場合は、他のユーザーのドキュメントにアクセスできないため、他のユーザーのドキュメントを削除できない可能性があります。また、現在のユーザーにとっては、それを実行するカスタムアクションを作成する必要があります。実際には、あなたがそこに行きたいと本当に思っています... "隠された"アプリケーションデータのために、他の特別なフォルダがあります。データがローミングしているかどうかに応じて複数のオプションがあります(エンタープライズでは、あなたの次のデータを持つことができます) – Phil1970

関連する問題