我目前正在重新编写我的一些代码。此代码当前看起来类似This:
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中,是否有一些方法可以更干净地构建Path
或File
对象呢?
(注意:我不想使用Collections
并在以后加入它们。我想找的是直接使用文件系统对象的东西。)
从路径javadoc:
Path p = Paths.get(String first, String... more)
Path p = Paths.get(URI uri)
一旦有了Path对象,就可以调用具有下一个文件扩展名的resolve()
方法。您应该小心使用"/",因为这取决于平台。Paths库将保证您的平台独立性