Concat postfix to the name. Take care of existing filename extension.
/*
* $Id: LocaleUtil.java 667964 2008-06-15 15:00:54Z apetrelli $
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/**
* Utilities for locale manipulation.
*
* @version $Rev: 667964 $ $Date: 2008-06-15 17:00:54 +0200 (Sun, 15 Jun 2008) $
* @since 2.1.0
*/
public class Main {
/**
* Concat postfix to the name. Take care of existing filename extension.
* Transform the given name "name.ext" to have "name" + "postfix" + "ext".
* If there is no ext, return "name" + "postfix".
*
* @param name Filename.
* @param postfix Postfix to add.
* @return Concatenated filename.
* @since 2.1.0
*/
public static String concatPostfix(String name, String postfix) {
if (postfix == null || "".equals(postfix)) {
return name;
}
// Search file name extension.
// take care of Unix files starting with .
int dotIndex = name.lastIndexOf(".");
int lastNameStart = name.lastIndexOf(java.io.File.pathSeparator);
if (dotIndex < 1 || dotIndex < lastNameStart) {
return name + postfix;
}
String ext = name.substring(dotIndex);
name = name.substring(0, dotIndex);
return name + postfix + ext;
}
}
Related examples in the same category