Java Array Search byteArraySearch(byte[] data, byte[] searchData)

Here you can find the source of byteArraySearch(byte[] data, byte[] searchData)

Description

byte Array Search

License

Apache License

Declaration

public static int byteArraySearch(byte[] data, byte[] searchData) 

Method Source Code

//package com.java2s;
/**/*www. ja v  a2  s  .c  om*/
 * Copyright 2008 - 2009
 * 
 * Licensed 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.
 * 
 * @project loonframework
 * @author chenpeng
 * @email?ceponline@yahoo.com.cn
 * @version 0.1
 */

import java.util.Arrays;

public class Main {
    public static int byteArraySearch(byte[] data, byte[] searchData) {
        for (int i = 0; i <= data.length - searchData.length; i++) {
            if (data[i] == searchData[0] && Arrays.equals(searchData, extractBytes(data, i, searchData.length)))
                return i;
        }

        return -1;
    }

    public static byte[] extractBytes(byte[] data, int offset, int length) {
        byte[] copiedBytes = new byte[length];

        for (int i = 0; i < copiedBytes.length; i++)
            copiedBytes[i] = data[offset + i];

        return copiedBytes;
    }

    public static byte[] extractBytes(byte[] data, int offset) {
        return extractBytes(data, offset, data.length - offset);
    }
}

Related

  1. arraySearch(byte[] array, byte[] search)
  2. arraySearch(int[] arr, int i)
  3. contains(byte[] array, byte toSearch)
  4. getFoundIdx(char to_find, char[] to_search, boolean do_orderAsc)
  5. indexOf(T[] array, T toSearch)
  6. isIn(char to_find, char[] to_search)