给定:名为example.xml
的文件
目标:测试文件example.xml.sha256
是否存在。
在Java 7+中执行此操作的最优雅/最有效的方法是什么(nio2,所以使用java.nio.files
)?
我有这个,但对我来说看起来有点难看:
Path path = Paths.get("/../example.xml");
if (Files.exists(Paths.get(path.toString() + ".sha256")))) {
...
}
答案 0 :(得分:2)
使用.resolveSibling()
会更加清晰,例如
path.resolveSibling(path.getFileName() + ".sha256");
这不是显着比你的解决方案更好,但它确实有一些优势:
Path
的功能 - 如果您只是要进行直接字符串连接,您可能根本不使用Path
。Paths.get()
,这是使用Path
的次优方式(因为它采用默认文件系统)。获得Path
后,您无需再次致电Paths.get()
。