public char[] readToCharArray() throws IOException { // allocate memory for array elements int elements = size / sizeOf(); char[] ac = new char[elements]; MatFileInputStream mfis = new MatFileInputStream(buf, type); for (int i = 0; i < elements; i++) { ac[i] = mfis.readChar(); } // skip padding if (padding > 0) { buf.position(buf.position() + padding); } return ac; } }