从File
类的JavaDoc:当File类与平台无关时,为什么File.isAbsolute()平台依赖于它?
文件和目录路径名的抽象表示。
用户界面和操作系统使用系统相关的路径名字符串来命名文件和目录。该课程提供了一个抽象的,系统无关的层级路径名称视图。
为什么方法.isAbsolute()
平台相关? (在Win和Linux上返回/tmp
的不同结果)并且不检查该文件是绝对的还是Linux或Windows? File
类如何猜测我想通过代码中的File
代表哪个平台的文件?我不一定代表本地文件系统的文件。
/windows中的tmp是CURRENT_DRIVE_LETTER:\ tmp,不是吗?我认为这个绝对路径与c:\ tmp – 2011-03-01 13:00:41
@Jan相同,尽管windows会搜索当前驱动器中的相对路径,但它仍然是一个相对路径。 – asgs 2011-03-01 13:04:18
@Jan:Windows中的'/ tmp'可以引用多个不同的位置,这取决于当前目录是什么(例如'C:\ tmp'或'D:\ tmp')。我很确定这个事实使它成为相对路径。 – 2011-03-01 13:11:00