0

復元パスがWindowsパスまたはUNIXパスのいずれかである復元アプリケーションに取り組んでおり(どちらがまっすぐかわかりません)、それらを現在のOSの適切なパスにマップする必要があります。

明らかに、Windows ==> Windows、*nix ==> *nix は簡単です。ただし、元のパスが Windows からのものである場合、それらを *nix に移動することは問題があります。これは、*nix がこれらのパスをファイル名として解釈するためです (たとえば、C:\folderA\fileB.txt は *nix のファイルにマップされ、 /folderA/fileB.txt)

私がやりたいことは、事前にパスを解析し、それらが windows/*nix パスであるかどうかを判断し、それに応じて処理することです。

助言がありますか?

ジョナサン

4

2 に答える 2

2

このjava.io.Fileクラスは、両方のプラットフォームでスラッシュで区切られたパスで正常に動作します。

File.separatorプログラムが実行されているプラ​​ットフォームに基づいて、値のパスを解析することもできます。

于 2012-11-21T15:56:37.303 に答える
2

Windows API はバックスラッシュ\とスラッシュ/をパスの区切り記号として同じように扱い、Unix の正気な人はバックスラッシュをファイル名に埋め込まないので、バックスラッシュをスラッシュに変換するだけで済みます。C:これにより、処理するパスの先頭にドライブ文字 (など) だけが残ります。

于 2012-11-21T15:57:22.533 に答える