Estive estudando sobre FileInputStream e FileOutPutStream e me surgiram algumas dúvidas:
Pelo que entendi, essas classes só lêem bytes. Como então eu faria para ler tipos de dados simples? Por exemplo, preciso ler três inteiros, mas um inteiro ocupa 4 bytes, se eu não me engano, como eu faria então?
Outra coisa: declarei uma classe sem métodos cujos atributos são todos de tipos simples e públicos que implementa Serializable. Existe alguma maneira de ler os dados do arquivo para um objeto dessa classe de uma vez?
FielInputStream e FileOutputStream são orientados a byte, herdando das classes InputStream e OutputStream. Existe as classes Writer e Reader, que são orientadas a caracter.
Sobre o seu objeto, sugiro não fazer atributos públios, pois isso rompe o conceito do encapsulamento da orientação a objetos. Utilize atributos todos privados, com métodos get e set para cada um.
Como esses tais inteiros estão gravados no seu arquivo? Se a ordem dos bytes for “mais significativo primeiro”, use DataInputStream / DataOutputStream.