[解決済み】パスのFile.separatorとスラッシュの違いについて
2022-04-09 10:57:38
質問
を使用するのとでは、どのような違いがあるのでしょうか。
File.separator
と通常の
/
をJavaのPath-Stringで表現できますか?
とは対照的に、ダブルバックスラッシュ
\\
WindowsでもUnixでも動くので、プラットフォーム非依存性は関係ないようです。
public class SlashTest {
@Test
public void slash() throws Exception {
File file = new File("src/trials/SlashTest.java");
assertThat(file.exists(), is(true));
}
@Test
public void separator() throws Exception {
File file = new File("src" + File.separator + "trials" + File.separator + "SlashTest.java");
assertThat(file.exists(), is(true));
}
}
質問を言い換えると、もし
/
はUnixやWindowsで動作しているのに、どうして
File.separator
?
解決方法は?
ファイルを扱うための Java ライブラリを使えば、安全に
/
(バックスラッシュではなくスラッシュ) をすべてのプラットフォームで使用できます。ライブラリのコードは、プラットフォーム固有のパスに変換する処理を内部で行っています。
を使いたいかもしれません。
File.separator
しかし、UIでは、Javaにとって意味のあるものよりも、彼らのOSで意味のあるものを示すのがベストだからです。
更新情報
: 5 分間検索しても、"you can always use a slash" の動作が文書化されているのを見つけることができませんでした。しかし、公式のリファレンスが見つからない場合(私の記憶が完璧でないため)、私は、以下のように使用します。
File.separator
なぜなら
知っている
というのが効果的です。
関連
-
[解決済み] この配列の中の数字を入れ替えるには、何が足りないのでしょうか?ジャバ
-
[解決済み] Maven: assembly-pluginが全く実行されない
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] StringBuilderとStringBufferの違いについて
-
[解決済み] wait()とsleep()の違いについて
-
[解決済み] Javaクラスにおけるcanonical name、simple name、class nameの違いは何ですか?
-
[解決済み] JDKとJREの違いは何ですか?
-
[解決済み】HashMap、LinkedHashMap、TreeMapの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HashMapのtoString関数はなぜ異なる順序で自分自身を印刷するのですか?
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] 文字列が一意な文字であるかどうかを判定する
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み] init-paramとcontext-param
-
[解決済み] java swingアプリケーションでJCEがプロバイダBCを認証できない