本文整理了Java中com.google.common.io.Files.simplifyPath()
方法的一些代码示例,展示了Files.simplifyPath()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Files.simplifyPath()
方法的具体详情如下:
包路径:com.google.common.io.Files
类名称:Files
方法名:simplifyPath
[英]Returns the lexically cleaned form of the path name, usually (but not always) equivalent to the original. The following heuristics are used:
These heuristics do not always match the behavior of the filesystem. In particular, consider the path a/../b, which simplifyPath will change to b. If a is a symlink to x, a/../b may refer to a sibling of x, rather than the sibling of a referred to by b.
[中]返回路径名的词汇清理形式,通常(但不总是)与原始路径名等效。使用以下试探法:
*空字符串变为空字符串。
代码示例来源:origin: google/guava
public void testMadbotsBug() {
assertEquals("../this", simplifyPath("../this"));
assertEquals("../this/is/ok", simplifyPath("../this/is/ok"));
assertEquals("../ok", simplifyPath("../this/../ok"));
}
代码示例来源:origin: google/guava
public void test716() {
assertEquals("b", simplifyPath("./b"));
assertEquals("b", simplifyPath("./b/."));
assertEquals("b", simplifyPath("././b/./."));
assertEquals("b", simplifyPath("././b"));
assertEquals("a/b", simplifyPath("./a/b"));
}
代码示例来源:origin: google/guava
public void testSimplifyDotDots() {
assertEquals("../..", simplifyPath("a/../../.."));
assertEquals("../../..", simplifyPath("a/../../../.."));
}
代码示例来源:origin: google/guava
/** http://gbiv.com/protocols/uri/rfc/rfc2396.html#rfc.section.C.2 */
public void testRfc2396Abnormal() {
assertEquals("/a/b/c/g.", simplifyPath("/a/b/c/g."));
assertEquals("/a/b/c/.g", simplifyPath("/a/b/c/.g"));
assertEquals("/a/b/c/g..", simplifyPath("/a/b/c/g.."));
assertEquals("/a/b/c/..g", simplifyPath("/a/b/c/..g"));
assertEquals("/a/b/g", simplifyPath("/a/b/c/./../g"));
assertEquals("/a/b/c/g", simplifyPath("/a/b/c/./g/."));
assertEquals("/a/b/c/g/h", simplifyPath("/a/b/c/g/./h"));
assertEquals("/a/b/c/h", simplifyPath("/a/b/c/g/../h"));
assertEquals("/a/b/c/g;x=1/y", simplifyPath("/a/b/c/g;x=1/./y"));
assertEquals("/a/b/c/y", simplifyPath("/a/b/c/g;x=1/../y"));
}
代码示例来源:origin: google/guava
public void testHiddenFiles() {
assertEquals(".b", simplifyPath(".b"));
assertEquals(".b", simplifyPath("./.b"));
assertEquals(".metadata/b", simplifyPath(".metadata/b"));
assertEquals(".metadata/b", simplifyPath("./.metadata/b"));
}
代码示例来源:origin: google/guava
public void testMultipleDotFilenames() {
assertEquals("..a", simplifyPath("..a"));
assertEquals("/..a", simplifyPath("/..a"));
assertEquals("/..a/..b", simplifyPath("/..a/..b"));
assertEquals("/.....a/..b", simplifyPath("/.....a/..b"));
assertEquals("..../....", simplifyPath("..../...."));
assertEquals("..a../..b..", simplifyPath("..a../..b.."));
}
代码示例来源:origin: google/guava
public void test705() {
assertEquals("../b", simplifyPath("x/../../b"));
assertEquals("b", simplifyPath("x/../b"));
}
代码示例来源:origin: google/guava
public void testInitialSlashDot() {
assertEquals("/a", simplifyPath("/./a"));
assertEquals("/.a", simplifyPath("/.a/a/.."));
}
代码示例来源:origin: google/guava
public void testSimplifyDotDotSlash() {
assertEquals("..", simplifyPath("../"));
assertEquals("..", simplifyPath("a/../.."));
assertEquals("..", simplifyPath("a/../../"));
}
代码示例来源:origin: google/guava
public void testSimplify5() {
assertEquals("/a/b", simplifyPath("/a//b"));
}
代码示例来源:origin: google/guava
public void testSlashDot() {
assertEquals("/", simplifyPath("/."));
}
代码示例来源:origin: google/guava
public void testSimplifyRootedDotDots() {
assertEquals("/", simplifyPath("/../../.."));
assertEquals("/", simplifyPath("/../../../"));
}
代码示例来源:origin: google/guava
public void testConsecutiveParentsAfterPresent() {
assertEquals("../..", simplifyPath("./../../"));
assertEquals("../..", simplifyPath("./.././../"));
}
代码示例来源:origin: google/guava
public void testSimplify7() {
assertEquals("/", simplifyPath("/.."));
}
代码示例来源:origin: google/guava
public void testSimplify8() {
assertEquals("/", simplifyPath("/././././"));
}
代码示例来源:origin: google/guava
public void testSimplifyDotDot() {
assertEquals("..", simplifyPath(".."));
}
代码示例来源:origin: google/guava
public void testInitialSlashDotDot() {
assertEquals("/c", simplifyPath("/../c"));
}
代码示例来源:origin: google/guava
public void testSimplify6() {
assertEquals("/a/b", simplifyPath("//a//b/"));
}
代码示例来源:origin: google/guava
public void testSimplify12() {
assertEquals("/x", simplifyPath("//a//../x//"));
}
代码示例来源:origin: google/guava
private void doExtensiveTest(String resourceName) throws IOException {
Splitter splitter = Splitter.on(CharMatcher.whitespace());
URL url = getClass().getResource(resourceName);
for (String line : Resources.readLines(url, UTF_8)) {
Iterator<String> iterator = splitter.split(line).iterator();
String input = iterator.next();
String expectedOutput = iterator.next();
assertFalse(iterator.hasNext());
assertEquals(expectedOutput, simplifyPath(input));
}
}
}
内容来源于网络,如有侵权,请联系作者删除!