Java String Ends With endsWith(byte[] source, char c)

Here you can find the source of endsWith(byte[] source, char c)

Description

ends With

License

Educational Community License

Declaration

public static boolean endsWith(byte[] source, char c) 

Method Source Code

//package com.java2s;
/* Copyright (c) 2003, 2004 The Regents of the University of Michigan, Trustees of Indiana University,
 *                  Board of Trustees of the Leland Stanford, Jr., University, and The MIT Corporation
 *
 * Licensed under the Educational Community License Version 1.0 (the "License");
 * By obtaining, using and/or copying this Original Work, you agree that you have read,
 * understand, and will comply with the terms and conditions of the Educational Community License.
 * You may obtain a copy of the License at:
 *
 *      http://cvs.sakaiproject.org/licenses/license_1_0.html
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
 * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 *//*  w w w  .  j  av a2  s  . c o m*/

public class Main {
    public static boolean endsWith(byte[] source, char c) {
        return endsWith(source, new byte[] { (byte) c });
    }

    /**
     * Does this byte array end with match array content? The check is NOT case sensitive!
     */
    public static boolean endsWith(byte[] source, byte[] match) {
        if (match.length > (source.length)) {
            return false;
        }

        for (int i = 0; i < match.length; i++) {
            if (match[i] != source[source.length - match.length + i]) {
                if (match[i] >= 65 && match[i] <= 90 && match[i] + 32 == source[source.length - match.length + i]) {
                    continue;
                } else if (match[i] >= 97 && match[i] <= 122
                        && match[i] - 32 == source[source.length - match.length + i]) {
                    continue;
                }
                return false;
            }
        }
        return true;
    }
}

Related

  1. endsWith(byte[] bytes, String str)
  2. endsWith(byte[] dataFrom, String suffix)
  3. endsWith(byte[] subject, byte[] suffix)
  4. endsWith(char s[], int len, char suffix[])
  5. endsWith(char[] fieldDescriptor, char c)
  6. endsWith(CharSequence cs, CharSequence suffix)