删除Java中的文件扩展名

删除Java中的文件扩展名,第1张

删除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
对象,因此如果这些对象也同时是输入和输出,则会稍微清楚一点。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5488936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存