2

Javaパス文字列を解析し、WindowsWindows のルート パス (ドライブ文字を含む) を抽出するための組み込みのクロスプラットフォームの方法はありますか?

Java SE documentationによると、java.nio.file.Pathクラスを使用できます。

String path = "C:\\this\\is\\a\\windows\\file path.txt"
Path p = Paths.get(path);
String drive = p.getRoot();

ただし、Pathオブジェクトの構成は OS 固有です。つまり、上記のコードが で実行された場合にのみドライブ文字を返すかどうかを意味しWindowsます。それ以外の場合は、単に を返しますnull

もちろん、カスタム アプローチ (正規表現や単純な文字列処理など) を使用して、ドライブ文字が存在する場合はそれを取得できますが、そうするために Java で既に実装されているクロスプラットフォームの方法はありますか?

4

1 に答える 1

1

ファイルのルート パス (ドライブなど) を取得するための組み込みのクロスプラットフォームの方法はないJavaようです。そのため、サードパーティ ライブラリまたはカスタム コードが唯一の解決策です。

Apache Commons IOにはFilenameUtilsクラスがあり、そのgetPrefix()メソッドは質問が尋ねたことを正確に実行します。

于 2015-11-11T19:24:39.047 に答える