2017-05-21 5 views
0

タイトルのとおり、オペレーティングシステムにイメージを保存する標準パスはありますか?オペレーティングシステムの標準イメージ/データパス?

例えば、JavaではSystem.getProperty( "java.io.tmpdir")を使用して「一時的なフォルダ」を取得できますが、同様の方法で画像のパスを取得できますか?

そうでない場合は、少なくとも一般的なデータストレージのパスがありますか?

私は、保存する必要のある.pngを生成するプログラムを作成していますが、ユーザーが設定メニューで自分のフォルダを選択するまで標準のパスを保存する必要があります。

お時間をいただきありがとうございます。

+0

独自のシステムプロパティを使用してください。 – Seelenvirtuose

+0

とにかく既に提供されているtempディレクトリを使用するだけではどうですか?誰もがファイルをどのように整理するかについては、さまざまな規則があります。 – Makoto

答えて

-1

通常、現在の作業ディレクトリが

System.getProperty("user.dir"); 

またはあなたが

new File(System.getProperty("user.home"), "Pictures"); 

https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#getProperties()

+0

「Pictures」フォルダがないと言ったらどうしますか?もし私がそれらの写真をどこか別の場所に生きたいのであれば? – Makoto

+0

@Makotoそれを作成することができます。特にそれらをどこかに保存したい場合は、設定メニューで自分のフォルダを選択することができます。 –

0

ホームディレクトリの相対ディレクトリを使用することができますを使用している私は、独立したOSを認識していませんよ画像を格納するためのパス。特にすべてのUNIXディストリビューションでは、これは場合によって異なる場合があります。また、OSのローカライゼーションに基づいて変更される可能性があります。私は、画像を保存する場所をユーザーに尋ねるか、ユーザーのホームディレクトリを取得してプログラムのようなフォルダに保存して、このフォルダがどこにあるのかをユーザーに明確に伝えることが最善の方法です。

0

ユーザーが、私はどちらかをお勧めします、で始まるためにそれらを保存する場所を選択できるようにしたい場合:

  • 明示的なことなく、自分のシステムには何も保存していないと言う、そう ;つまり、場所を選択するまでディスクに何も保存しないでください。
  • イメージを格納する特定の場所を選択するまで、一時フォルダに保存します。この方法では、コードは一般的に移植可能です。特定のファイルが存在する場所は人によって異なりますが、一時ディレクトリは普遍的なものです。
+0

あなたの最初のポイントはあなたの第2のポイントと矛盾するようです。最初の選択肢を選ぶ方が良いのはいつですか? –

+0

@PeterLawrey:ディスク容量が懸念されています。ファイルを保存するのに十分なディスク容量がない場合、私はそれを失います。また、それは最小の驚きの原則に違反します。結局のところファイルを保存したくない場合、ファイルがクリーンアップされていないバグがあると、突然私は予想していない状態でディスクスペースを使用しています。ここでは、それが非常に明確で明白になります。 – Makoto

+0

プログラムが消えてファイルが失われてしまった場合、プログラムを再起動しても画像が残っていることに驚いていないことをユーザーに感謝することができます。 –