To access arrays reflectively use java.lang.reflect.Array.
Your code should then read:
if (int.class.equals(field.getType())
{
...
}
else if (field.getType().isArray() && byte.class.equals(field.getType().getComponentType()))
{
...
}
On the assumption that you don't want to read the whole buffer into the byte array, how you know what size the array is will be proprietary to your serialization mechanism (which will probably make the switch statement invalid - it should be replaced with a switch on values read from the buffer).
A common approach is to write the type first, which then controls how to interpret what comes next. In the case of an array, the what comes next would be the length and then the array content.
In all honesty you are better off using a 3rd party library such as Google's Protocol Buffers, which already covers this and much more.