Bueno leyendo más vi éste enlace http://www.cafeaulait.org/questions/06181999.html
donde vi que para usar la función, uno debe poner como off la posición donde inicia a leer y el final debe ser la len-off...
Código:
if (data == null) {
throw new NullPointerException();
}
else if ((offset < 0) || (offset > data.length) || (length < 0)
|| ((offset + length) > data.length) || ((offset + length) < 0)) {
throw new ArrayIndexOutOfBoundsException();
}
else if (length == 0) {
return 0;
}
lo que quiere decir que si tenemos un arreglo de bytes de tamaño 10, y queremos que lea de la posición 3 hasta el final (10) debemos poner
yo no efectuaba dicha resta, por eso tenía el error.
El que sí todavía no consigo nada es el de crear un archivo y que sea de sólo lectura...
Gracias y saludos, espero me ayuden con lo último!