Mega Code Archive

 
Categories / Java / Collections Data Structure
 

Check if a text is present at the current position in a buffer(char array and string)

import java.io.File; import java.io.FileFilter; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; /*  *  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.   *    */ /**  * Various string manipulation methods that are more efficient then chaining  * string operations: all is done in the same buffer without creating a bunch of  * string objects.  *   * @author <a href="mailto:dev@labs.apache.org">Dungeon Project</a>  */ public class Main {   /**    * Check if a text is present at the current position in a buffer.    *     * @param charArray    *            The buffer which contains the data    * @param index    *            Current position in the buffer    * @param text    *            The text we want to check    * @return <code>true</code> if the buffer contains the text.    */   public static final int areEquals( char[] charArray, int index, String text )   {       if ( ( charArray == null ) || ( charArray.length == 0 ) || ( charArray.length <= index ) || ( index < 0 )           || ( text == null ) )       {           return -1;       }       else       {           char[] data = text.toCharArray();           return areEquals( charArray, index, data );       }   }   /**    * Check if a text is present at the current position in a buffer.    *     * @param charArray    *            The buffer which contains the data    * @param index    *            Current position in the buffer    * @param charArray2    *            The text we want to check    * @return <code>true</code> if the buffer contains the text.    */   public static final int areEquals( char[] charArray, int index, char[] charArray2 )   {       if ( ( charArray == null ) || ( charArray.length == 0 ) || ( charArray.length <= index ) || ( index < 0 )           || ( charArray2 == null ) || ( charArray2.length == 0 )           || ( charArray2.length > ( charArray.length + index ) ) )       {           return -1;       }       else       {           for ( int i = 0; i < charArray2.length; i++ )           {               if ( charArray[index++] != charArray2[i] )               {                   return -1;               }           }           return index;       }   } }