java 文件去除扩展名_删除Java中的文件扩展名

小编典典

我将为此目的使用双参数版本的stab,lastIndexOf以删除一些特殊情况的检查代码,并希望使意图更具可读性。幸得贾斯汀“jinguy”尼尔森提供这种方法的基础:

public static String removeExtention(String filePath) {

// These first few lines the same as Justin's

File f = new File(filePath);

// if it's a directory, don't remove the extention

if (f.isDirectory()) return filePath;

String name = f.getName();

// Now we know it's a file - don't need to do any special hidden

// checking or contains() checking because of:

final int lastPeriodPos = name.lastIndexOf('.');

if (lastPeriodPos <= 0)

{

// No period after first character - return name as it was passed in

return filePath;

}

else

{

// Remove the last period and everything after it

File renamed = new File(f.getParent(), name.substring(0, lastPeriodPos));

return renamed.getPath();

}

}

对我来说,这比特殊格式的隐藏文件和不包含点的文件更清晰。它也使我更清楚地了解您的规格要求;类似于“删除最后一个点及其后的所有内容,并假设该点存在并且不是文件名的第一个字符”。

请注意,此示例还隐含了字符串作为输入和输出。由于大多数抽象都需要File对象,因此如果这些对象也同时是输入和输出,则会稍微清楚一点。

2020-10-09

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值