の比較:文字列として与えられた二つのファイルパスを検討する2つのファイルパスの関係
/path/to/dir
と/path/to/dir/file
Javaでは、どのように1つのテストすることができ、それ以降のファイルパスは、ディスク上の実際のファイルを表すならば、これは最初の文字列で表されるディレクトリ以下です。 File
方法.getCanonicalPath
により
/path/to/dir /path/to/dir (true)
/path/to/dir /path/to/dir/file (true)
/path/to/dir /path (false)
/path/to/dir /path/to/dir/../../file (false)
/path/to/dir file (false)
/path/to/dir /path/to/dir/dir2/../ (true)
は1がドットを取り除くだろうし、その後、文字列レベルで確認してください。ここでは、ここで疑問視されたチェック機能のいくつかのサンプルの戻り値を含め、この点を明確にするため、いくつかのより多くの例であります?たぶん良い方法があります。私は見つけられませんでした、何がFile
の.compareTo
は正確に行います。正規のパスをお持ちの場合は
'ファイルの方法.getCanonicalPathでドットを排除して、文字列level'にチェックを受けるなど、パスの区切りの誤った取り扱いによる誤差を導入することができますあなた自身の質問に答える方法。私はそれが動作するかどうかを確認するために実装することを提案問題がある場合はいつでもコードについて尋ねることができます。 – Linus