首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中的连接路径

Java中的连接路径
EN

Stack Overflow用户
提问于 2015-12-25 10:16:26
回答 4查看 99.2K关注 0票数 127

Python中,我可以使用os.path.join连接两条路径

代码语言:javascript
复制
os.path.join("foo", "bar") # => "foo/bar"

我正试图在Java语言中实现同样的目标,而不用担心OSUnixSolaris还是Windows

代码语言:javascript
复制
public static void main(String[] args) {
    Path currentRelativePath = Paths.get("");
    String current_dir = currentRelativePath.toAbsolutePath().toString();
    String filename = "data/foo.txt";
    Path filepath = currentRelativePath.resolve(filename);

    // "data/foo.txt"
    System.out.println(filepath);

}

我原以为Path.resolve( )会加入我当前的目录/home/user/test,让data/foo.txt制作/home/user/test/data/foo.txt。我到底搞错了什么?

EN

回答 4

Stack Overflow用户

发布于 2015-12-25 10:34:32

不是特定的方法。

如果您使用的是java 8或更高版本,则有两个选择:

a)使用java.util.StringJoiner

代码语言:javascript
复制
StringJoiner joiner = new StringJoiner(File.pathSeparator); //Separator
joiner.add("path1").add("path2");
String joinedString = joiner.toString();

b)使用String.join(File.pathSeparator, "path1", "path2");

如果您使用的是java 7或更低版本,则可以使用apache commons中的commons-lang库。类StringUtils有一个使用分隔符连接字符串的方法。

c) StringUtils.join(new Object[] {"path1", "path2"}, File.pathSeparator);

附注:对于windows,您可以使用linux路径分隔符"/“(只需记住,绝对路径类似于"/C:/mydir1/mydir2”。如果使用诸如file://之类的协议,则始终使用"/“非常有用

票数 11
EN

Stack Overflow用户

发布于 2015-12-26 06:10:37

最基本的方法是:

代码语言:javascript
复制
Path filepath = Paths.get("foo", "bar");

您永远不应该编写Paths.get("")。我很惊讶这能行得通。如果要显式引用当前目录,请使用Paths.get(System.getProperty("user.dir"))。如果需要用户的主目录,请使用Paths.get(System.getProperty("user.home"))

您还可以将这些方法组合在一起:

代码语言:javascript
复制
Path filepath = Paths.get(
    System.getProperty("user.home"), "data", "foo.txt");
票数 6
EN

Stack Overflow用户

发布于 2019-11-22 16:51:24

你可以这样做

代码语言:javascript
复制
// /root
Path rootPath = Paths.get("/root");
// /root/temp
Path temPath = rootPath.resolve("temp");

这里有一个很好的详细的帖子Path Sample Usecase

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34459486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档