用于组合文件路径的java8类

时间:2015-06-29 10:40:35

标签: java file path

我目前正在修改我的一些代码。此代码目前看起来像这样:

File makeFile() {

    StringBuilder builder = new StringBuilder();

    builder.append( "/" );

    if( a ) builder.append( foodir ).append( '/' );
    if( b ) builder.append( bardir ).append( '/' );

    builder.append( "file.txt" );

    return new File( b.toString() );
}

我真的不喜欢这段代码,因为它首先使用StringBuilder来构建一些真正属于某种Path对象的东西。

那么 - 至少在Java8中 - 有一些以更干净的方式构建PathFile对象的方法吗?

注意:我不希望使用Collections并稍后加入它们。我正在寻找直接使用文件系统对象的东西。)

1 个答案:

答案 0 :(得分:0)

来自路径javadoc:

Path p = Paths.get(String first, String... more)

Path p = Paths.get(URI uri)

获得Path对象后,只需使用下一个文件扩展名调用resolve()方法即可。您应该小心使用“/”,因为这取决于平台。路径库将保证您的平台独立性