Имхо, чтение и запись файлов не отличается от формата к формату, тупо байтики же, т.е. достаточно одной сушности для чтения и записи будет, ну или нескольких, если параллелить, а вот уже декодирование из байтиков и кодирование обратно в байтики можно реализовать в конкретном классе формата файла