Here you can find the source of endsWith(byte[] source, char c)
public static boolean endsWith(byte[] source, char c)
//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; } }