ByteArrayInputStream and ByteArrayOutputStream are for reading and writing to byte arrays. Perhaps you should look at the various methods of InputStream. In particular, the one which takes an array as an argument. Be aware that in some text encodings, a byte does not equal a character so breaking text up in 128 bit blocks may screw things up big time.
Why do you need to divide the file? What is your goal? Do you realize that in many character encodings, bytes and chars are not interchangeable? All that being said, the easiest way to read a fixed number of bytes is DataInputStream's readFully method: