]> source.dussan.org Git - poi.git/commitdiff
Made some changes for HDF types
authorSaid Ryan Ackley <sackley@apache.org>
Fri, 19 Apr 2002 22:30:50 +0000 (22:30 +0000)
committerSaid Ryan Ackley <sackley@apache.org>
Fri, 19 Apr 2002 22:30:50 +0000 (22:30 +0000)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352453 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/util/HexDump.java
src/java/org/apache/poi/util/LittleEndian.java

index 4eac10f379ff16d74d336bcdc0f9f1a308516f2a..4e0cfd35a3bfe1c0a544661f4a61692a2f2bf9a1 100644 (file)
@@ -183,6 +183,24 @@ public class HexDump
         return _cbuffer;
     }
 
+    /**
+     * Converts the parameter to a hex value.
+     *
+     * @param value     The value to convert
+     * @return          A String representing the array of bytes
+     */
+    public static String toHex(final byte[] value)
+    {
+        StringBuffer retVal = new StringBuffer();
+        retVal.append('[');
+        for(int x = 0; x < value.length; x++)
+        {
+            retVal.append(toHex(value[x]));
+            retVal.append(", ");
+        }
+        retVal.append(']');
+        return retVal.toString();
+    }
     /**
      * Converts the parameter to a hex value.
      *
index 3621423a9a248ab549e8a4803b1ffafc46bddfe8..6c7a4f4d2369a202ac3a0f32da7ec32110a7c7d2 100644 (file)
@@ -95,12 +95,10 @@ public class LittleEndian
     }
 
     /**
-     * get a short array from a byte array.  The short array is assumed
-     * to start with a word describing the length of the array.
+     * get a short array from a byte array.
      */
-    public static short[] getShortArray(final byte[] data, final int offset)
+    public static short[] getSimpleShortArray(final byte[] data, final int offset, final int size)
     {
-        int size = (short) getNumber(data, offset, SHORT_SIZE);
         short[] results = new short[size];
         for (int i = 0; i < size; i++)
         {
@@ -108,6 +106,16 @@ public class LittleEndian
         }
         return results;
     }
+    /**
+     * get a short array from a byte array.  The short array is assumed
+     * to start with a word describing the length of the array.
+     */
+    public static short[] getShortArray(final byte[] data, final int offset)
+    {
+        int size = (short) getNumber(data, offset, SHORT_SIZE);
+        short[] results = getSimpleShortArray(data, offset, size);
+        return results;
+    }
 
     /**
      * get a short value from the beginning of a byte array
@@ -566,5 +574,22 @@ public class LittleEndian
     {
         return getUnsignedByte(data, 0);
     }
+    /**
+     * Copy a portion of a byte array
+     *
+     * @param data the original byte array
+     * @param offset Where to start copying from.
+     * @param size Number of bytes to copy.
+     *
+     * @throws IndexOutOfBoundsException - if copying would cause access of data
+     *                                     outside array bounds.
+     */
+    public static byte[] getByteArray(final byte[] data, int offset, int size)
+    {
+        byte[] copy = new byte[size];
+        System.arraycopy(data, offset, copy, 0, size);
+
+        return copy;
+    }
 
 }