Java Byte Array Copy memcpy(byte[] dst, int dst_offset, byte[] src, int src_offset, int length)

Here you can find the source of memcpy(byte[] dst, int dst_offset, byte[] src, int src_offset, int length)

Description

Copy contents of one array of bytes into another.

License

Open Source License

Parameter

Parameter Description
dst the array to write, or <code>null</code>
dst_offset the start offset in <code>dst</code>
src the array to read, or <code>null</code>
src_offset the start offset in <code>src</code>
length the number of <code>byte</code>s to copy.

Return

DOCUMENT ME!

Declaration

public static int memcpy(byte[] dst, int dst_offset, byte[] src, int src_offset, int length) 

Method Source Code

//package com.java2s;
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
 *
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
 *
 * For more information, contact://  w  w  w . jav a 2  s  .  co m
 *
 *  Generalitat Valenciana
 *   Conselleria d'Infraestructures i Transport
 *   Av. Blasco Ib??ez, 50
 *   46010 VALENCIA
 *   SPAIN
 *
 *      +34 963862235
 *   gvsig@gva.es
 *      www.gvsig.gva.es
 *
 *    or
 *
 *   IVER T.I. S.A
 *   Salamanca 50
 *   46005 Valencia
 *   Spain
 *
 *   +34 963163400
 *   dac@iver.es
 */

public class Main {
    /**
     * Copy contents of one array of <code>bytes</code> into another. If either
     * array is <code>null</code>, simply return the <code>length</code>
     * parameter directly.
     *
     * @param dst the array to write, or <code>null</code>
     * @param dst_offset the start offset in <code>dst</code>
     * @param src the array to read, or <code>null</code>
     * @param src_offset the start offset in <code>src</code>
     * @param length the number of <code>byte</code>s to copy.
     *
     * @return DOCUMENT ME!
     */
    public static int memcpy(byte[] dst, int dst_offset, byte[] src, int src_offset, int length) {
        if ((dst != null) && (src != null)) {
            if (dst.length < (dst_offset + length)) {
                croak("dst.length = " + dst.length + ", but " + "dst_offset = " + dst_offset + " and length = "
                        + length + ".");
            }

            if (src.length < (src_offset + length)) {
                croak("src.length = " + src.length + ", but " + "src_offset = " + src_offset + " and length = "
                        + length + ".");
            }

            for (int i = 0; i < length; ++i, ++dst_offset, ++src_offset)
                dst[dst_offset] = src[src_offset];
        }

        return length;
    }

    /**
     * DOCUMENT ME!
     *
     * @param msg DOCUMENT ME!
     */
    private static void croak(String msg) {
        // throw new java.AssertionViolatedException(msg);
    }
}

Related

  1. copyBytesIntoByteArray(byte[] dest, byte[] src)
  2. copyBytesToString(byte[] src, int arg1, int arg2)
  3. copyBytesWithin(byte[] bytes, int target, int start, int end)
  4. memcpy(byte[] dest, int doff, byte[] src, int soff, int len)
  5. memcpy(byte[] destBytes, byte[] srcBytes, int numBytes)
  6. memcpy(Object to, Object from, int size)