为了账号安全,请及时绑定邮箱和手机立即绑定

Java文件路径作为目录路径

Java文件路径作为目录路径

慕哥6287543 2021-04-09 22:24:21
给定这样的文件路径:Path filePath; // "/Users/me/Desktop/archive.zip"我想要一个函数,通过删除其文件扩展名将此文件路径转换为目录路径,并将文件路径视为目录路径。例如:Path dirPath = asDirectoryPath(filePath); // "/Users/me/Desktop/archive"我尝试了什么?好吧,我有一个解决方案,我认为这很丑陋:private Path asDirectoryPath(Path filePath){    return Paths.get(path.toString().substring(0, path.toString().lastIndexOf('.')));}为什么丑陋?因为我被迫执行路径进行字符串转换并搜索“。”。符号,假设以下字符是文件扩展名。此功能应该是可移植的,并且应该在Windows和UNIX系统中均可以使用。还有其他正确的解决方案吗?谢谢。
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

您可以使用java.nio中的getParent()方法Path,它将Path对文件所需的工作,并向包含文件Path的文件夹返回a 。如果给定的Path是文件夹,则它返回父文件夹;如果没有父文件夹,则返回null。


Path dirPath = filePath.getParent();

你的方法应该看起来像


private Path asDirectoryPath(Path filePath) {

    return Paths.get(filePath.getParent());

}


查看完整回答
反对 回复 2021-04-28
?
茅侃侃

TA贡献1842条经验 获得超21个赞

正则表达式可在此处与split方法一起使用。

path.toString().split("\\.")[0])


查看完整回答
反对 回复 2021-04-28
  • 2 回答
  • 0 关注
  • 193 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信