在Java中,如果你想從文件名中移除擴展名,可以使用以下的簡單方法。這個方法定義了一個名為`getFileNameNoEx`的靜態函數,它接受一個字符串參數`filename`,該參數應為包含文件名和擴展名的完整路徑。
首先,函數檢查輸入的`filename`是否非空并且長度大于0。接著,它使用`lastIndexOf('.')`方法找到文件名中的`.`字符,這個字符通常標志著擴展名的開始。`lastIndexOf('.')`會返回`.`在字符串中的索引位置。
如果`.`字符存在,并且其索引位置不為0且不是字符串的最后一個字符(這意味著擴展名存在且不是文件名的最后一個部分),函數會使用`substring`方法從開始到`.`的索引,從而截取不帶擴展名的部分。返回這個子字符串作為新的文件名。
如果`.`不存在或者`.`是文件名的最后一個字符(即沒有擴展名),函數會直接返回原始的`filename`,因為它已經是最簡形式,沒有需要移除的擴展名。
使用這個`getFileNameNoEx`函數,你可以輕松地從Java文件路徑中提取出不帶擴展名的部分,例如:"C:/example.txt"會變成"C:/example"。