Here you can find the source of fileNameWithoutExtension(String filename)
public static String fileNameWithoutExtension(String filename)
//package com.java2s; /* /*from w w w .j a va 2 s . c o m*/ Copyright 2005-2018, Foundations of Success, Bethesda, Maryland on behalf of the Conservation Measures Partnership ("CMP"). Material developed between 2005-2013 is jointly copyright by Beneficent Technology, Inc. ("The Benetech Initiative"), Palo Alto, California. This file is part of Miradi Miradi is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. Miradi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Miradi. If not, see <http://www.gnu.org/licenses/>. */ public class Main { public static String fileNameWithoutExtension(String filename) { int lastDotIndex = filename.lastIndexOf('.'); char nix_sep = '/'; char win_sep = '\\'; int lastUnixSepIndex = filename.lastIndexOf(nix_sep); int lastWindowsSepIndex = filename.lastIndexOf(win_sep); int lastSepIndex = Math.max(lastUnixSepIndex, lastWindowsSepIndex); int substringIndex = (lastSepIndex > lastDotIndex ? -1 : lastDotIndex); if (substringIndex < 0) { return filename; } else { return filename.substring(0, substringIndex); } } }