gpt4 book ai didi

java - 如何从提供的文件路径获取现有父路径

转载 作者:行者123 更新时间:2023-12-02 10:08:55 25 4
gpt4 key购买 nike

有什么方法可以从提供的路径获取有效/现有的父级而不循环。

我的要求是在提供的路径创建文件夹,并且我想添加验证该文件夹是否具有写入权限。

所以我添加了以下代码。但问题是有时 getParent 路径不存在

Files.isWritable(Paths.get(path).getParent())

示例

"C:\MyFolder\Test" is existing folder.

Case1:
path=C:\MyFolder\Test\a
Paths.get(path).getParent() will be C:\MyFolder\Test
Files.isWritable will be true/false based on permission of "C:\MyFolder\Test".

Case2:
path=C:\MyFolder\Test\a\b\c
Paths.get(path).getParent() will be C:\MyFolder\Test\a\b
Files.isWritable will be always false.

我可以添加像 getParent() 这样的循环直到存在,然后验证 Files.isWritable()。有没有更好的解决方案来获取有效/现有路径。

最佳答案

您可以尝试使用createDirectories如果您还想创建父目录。当然,如果它是一个文件,您必须提取父目录路径,因为您已经这样做了。

您还可以选择引用此 SO answer ,对于没有 java.nio 包的老式方法。

请使用try-catch来处理目录创建失败的情况。

关于java - 如何从提供的文件路径获取现有父路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55135397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com