生成规范路径
有没有人知道我可以用来生成规范路径的任何Java库(基本上删除反向引用)。
我需要一些可以执行以下操作的东西:
原始路径 ->规范路径
/../foo/ -> /foo
/foo/ -> /foo
/../../../ -> /
/./foo/./ -> /foo
//foo//bar -> /foo/bar
//foo/../bar -> /bar
等。。。
目前,我懒惰地依靠使用:
new File("/", path).getCanonicalPath();
但这解决了针对实际文件系统的路径,并且是同步的。
java.lang.Thread.State: BLOCKED (on object monitor)
at java.io.ExpiringCache.get(ExpiringCache.java:55)
- waiting to lock <0x93a0d180> (a java.io.ExpiringCache)
at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:137)
at java.io.File.getCanonicalPath(File.java:559)
我正在规范化的路径在我的文件系统上不存在,因此只需该方法的逻辑就可以了,因此不需要任何同步。我希望有一个经过良好测试的库,而不必编写自己的库。