在Java中,如果你想从文件名中移除扩展名,可以使用以下的简单方法。这个方法定义了一个名为`getFileNameNoEx`的静态函数,它接受一个字符串参数`filename`,该参数应为包含文件名和扩展名的完整路径。
首先,函数检查输入的`filename`是否非空并且长度大于0。接着,它使用`lastIndexOf('.')`方法找到文件名中的`.`字符,这个字符通常标志着扩展名的开始。`lastIndexOf('.')`会返回`.`在字符串中的索引位置。
如果`.`字符存在,并且其索引位置不为0且不是字符串的最后一个字符(这意味着扩展名存在且不是文件名的最后一个部分),函数会使用`substring`方法从开始到`.`的索引,从而截取不带扩展名的部分。返回这个子字符串作为新的文件名。
如果`.`不存在或者`.`是文件名的最后一个字符(即没有扩展名),函数会直接返回原始的`filename`,因为它已经是最简形式,没有需要移除的扩展名。
使用这个`getFileNameNoEx`函数,你可以轻松地从Java文件路径中提取出不带扩展名的部分,例如:"C:/example.txt"会变成"C:/example"。