本文介绍了在哪里使用java.nio.file.Path类的resolve()和relativize()方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Path p1 = Paths.get("/Users/jack/Documents/text1.txt");
Path p2 = Paths.get("/Users/jack/text2.txt");
Path result1 = p1.resolve(p2);
Path result2 = p1.relativize(p2);
System.out.println("result1: "+result1);
System.out.println("result2: "+result2);
输出
result1: /Users/jack/text2.txt
result2: ../../text2.txt
我无法理解resolve()
和relativize()
的工作方式?
I cannot understand how resolve()
and relativize()
works?
result1
和result2
的实际用法是什么?
What is the actual use of result1
and result2
?
推荐答案
这些是我代码库中的代码段,可帮助您了解resolve()方法的使用
These are the code snippets from my code base that help you to understand the use of the resolve() method
private File initUsersText() throws Exception
{
Path dir = testdir.getPath().toRealPath();
FS.ensureDirExists(dir.toFile());
File users = dir.resolve("users.txt").toFile();
writeUser( users );
return users;
}
private File initUsersText() throws Exception
{
Path dir = testdir.getPath().toRealPath();
FS.ensureDirExists(dir.toFile());
File users = dir.resolve("users.txt").toFile();
writeUser( users );
return users;
}
这些是使用relativize()的示例
And these are the examples of the use of relativize()
public ScopePath pathToClassName(Path file) {
if (!isValidClass(file))
return null;
Path relativePath = root.relativize(root.resolve(file));
String withoutExtension = removeExtension(relativePath.toString());
return new ScopePath(withoutExtension.replace(File.separator, "."));
}
private String getRelativePath(Path p) {
String relativePath = packageDir.relativize(p)
.toString();
if (File.separator.equals("\\")) {
relativePath = relativePath.replace("\\", "/");
}
return relativePath;
}
这篇关于在哪里使用java.nio.file.Path类的resolve()和relativize()方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!