我有一个 java.io.File,例如
/foo/bar/baz
在这种情况下,我想获取文件的“顶级”父级
/foo/
显然,这是 Linux 特有的——我不关心跨平台兼容的解决方案,但如果是这样,它会更优雅!
在 Scala 中,我设法想出的最好的方法如下:
def topParent( file : File ) : File =
{
var temp = file
while ( temp.getParent != "/" ) temp = temp.getParentFile
temp
}
它具有以下行为:
scala> topParent( new java.io.File( "/foo/bar/baz" ) )
res14: java.io.File = /foo
但这似乎有点不雅。有没有人有更好的解决方案?