私が行っている Java 作業の 100% は Android で行われています。ファイル パスを作成するときは、常に「/」の代わりにFile.pathSeparator File.separatorChar を使用するようにしています。
File.pathSeperator の値を決定するものは何ですか? File.pathSeparator File.separatorChar が "/" にならない Android デバイスはありますか?
File.java のソース コードによるとpathSeparator
、 char からプルされSystem.getProperty("path.separator", ":").charAt(0)
ます。separator
、一方、から来ていSystem.getProperty("file.separator", "/").charAt(0)
ます。
Android は Linux ベースであるため、常に/
. ただし、上記のデフォルト値を使用すると、代わりに表示されるグリッチ:
(Motorola Droid;バグ レポートを参照) が見られます。
私がコーディングするときは、常に/
... を使用しますFile
。に固執するのが最善/
だと思います。
さらに、この回答(Android だけでなく Java に関するもの) によると/
、すべての Java プラットフォームで安全に使用でき、内部で使用する必要があるものを把握します。
私はあなたが意味するFile.separator
と思いますよFile.separatorChar
ね?ドキュメントを見ると、次のように記載されています。
public static final char separatorChar
ファイル名のコンポーネントを区切るために使用されるシステム依存の文字 ('/')。これを (ハードコーディング '/' ではなく) 使用すると、他のオペレーティング システムへの移植性が向上します。
このフィールドは、システム プロパティ「file.separator」から初期化されます。そのプロパティを後で変更しても、このフィールドまたはこのクラスには影響しません。
これはシステムに依存します。技術的には、誰かが Linux 以外のプラットフォーム ( BlueStacksを参照) に Android を実装する可能性があります。パスの区切り文字は「/」以外です。実際には、「/」を使用してもほとんど問題はないと思いますが、代わりにこれらのフィールドを使用するのは良い習慣です。