私が行っている 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 を実装する可能性があります。パスの区切り文字は「/」以外です。実際には、「/」を使用してもほとんど問題はないと思いますが、代わりにこれらのフィールドを使用するのは良い習慣です。