【发布时间】:2016-09-02 07:12:21
【问题描述】:
将两个给定的文件路径视为字符串:
/path/to/dir 和 /path/to/dir/file
在Java中,如何测试后面的文件路径是否代表磁盘上的真实文件,该文件低于或等于第一个字符串表示的目录。这里有更多示例来阐明这一点,包括此处质疑的检查函数的一些示例返回值:
/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)
是否可以通过File 方法.getCanonicalPath 去除点,然后检查字符串级别?也许有更好的方法。我不知道File 的.compareTo 到底做了什么。
【问题讨论】:
-
get rid of the dots by the File method .getCanonicalPath and then check on a string level... 听起来您知道如何回答自己的问题。我建议实施它以查看是否有效。如果您有问题,您可以随时询问您的代码。