Estou comecando a trabalhar com arquivos em java, estou desenvolvendo um software mas nao queria utilizar banco de dados, mas nao tenho ideia de como representar minhas entidades em arquivos. Tenho que fazer um arquivo para cada entidade? Ou da pra utilizar apenas um arquivo para todas, se sim, alguem tem alguma dica onde eu possa encontrar orientacoes sobre isso?
Existem dois tipos de arquivos, os binários e os de texto.
Caso vc vá utilizar arquivos texto para representar seus dados, o usual é criar arquivos em que cada linha representa um objeto (ou registro) a ser salvo. esta linha possui campos com largura definida e fixa, logo todas as linhas tem o mesmo número de caracteres. Sabendo onde começa e onde termina cada campo na linha fica fácil popular um objeto (ou mais de um) com os dados lidos, utilizando por exemplo o método substring() da classe String.
Outra opção seria você utilizar arquivos binários para serializar seus objetos. Nunca trabalhei com este tipo de arquivo em Java, somente em C++, mas sei que existem recursos bem interessantes, dê uma pesquisada!
Só não deixar de tentar dar uma luz, você realmente não quer usar um banco de dados ou não quer depender de instalar um ou do cliente ter um instalado? Se esse for o caso, você pode usar um hsqldb para um banco embutido: