Criar Sistema de Arquivos FAT em java

Álguem sabe ou já fez algo parecido pois não entendi nada da lógica da coisa.
Simular um Sistema FAT em Java

• Os arquivos a serem gravados devem conter frases com
caracteres tipo texto
• O HD deve ser feito utilizando um arquivo persistente (n˜ao
pode ser apagado a cada execu¸c˜ao do programa)
• O arquivo root, a FAT e a ´area de dados devem estar no
mesmo arquivo
• Dica: usar um arquivo .xml para simular o HD
• Deve ser simulado o uso de FAT16 (no m´aximo 512 entradas
no diret´orio raiz)
• A ´area de dados deve conter 512 clusters
• Um cluster deve armazenar no máximo 4 caracteres

///////////////////////////

O simulador deve conter, no m´ınimo:
• Um mecanismo para simular a ´area de dados que guarda as
entradas do diret´orio raiz
• Um mecanismo para simular a FAT
• Um m´etodo ou fun¸c˜ao para gravar arquivos no HD virtual
• Um m´etodo ou fun¸c˜ao para ler arquivos no HD virtual
• Um m´etodo ou fun¸c˜ao para apagar arquivos no HD virtual
• Um m´etodo ou fun¸c˜ao para formatar o HD virtual
• Um m´etodo que lˆe uma frase do console e grava a frase no
HD virtual, usando o n´umero necess´ario de clusters
• Lembrar que cada cluster armazena no m´aximo quatro letras
• Lembrar que existe um n´umero limitado de clusters

Consegui fazer sozinho obrigado !!