2008-10-15 4 views
1

Я разрабатываю своего рода формат обмена между экземплярами приложения, чтобы пользователь мог сохранить информацию в файл и восстановить ее позже. Весь «обменный формат» - это один класс, который сериализуется и записывается на диск.Лучший способ хранения изображения/звука внутри класса?

Как вы предлагаете хранить графическую/звуковую информацию внутри этого класса? Я бы хотел не помещать файлы в него .jar.

ответ

3

Вы можете хранить ресурсы в классе как массивы byte []. Используя ByteArrayInputStream и ByteArrayOutputStream, вы можете обернуть массивы в виде потоков и использовать их для хранения и извлечения ресурсов.

0

** me **

Как насчет более подробной информации о вашем случае? «лучший» метод обычно зависит от конкретного приложения/использования. делает ли изображение/звук из файлов? из потока? Кажется ли каждый экземпляр класса хранить отдельные изображения? Или может ли изображение использоваться для разных экземпляров?

GSMD

изображения приходят из файлов, звуки приходят из потока; на самом деле есть набор предметов, некоторые из которых могут иметь прикрепленное изображение ; изображение не может быть совместно


Какие методы вы пробовали? Я предполагаю, что использование интерфейса Serializable - путь. Вот twoarticles по теме.

В основном,

  1. реализовать Serializable интерфейс в классе
  2. членов знак, которые не должны быть сохранены в файле в качестве переходных (членов, содержащих контекстные данные, такие как дескрипторы файлов, сокетов соединений, и т.д.) ,
  3. вы должны настроить как ваше изображение и звук классы записи, используя данные, но реализация:

    собственной недействительным writeObject (ObjectOutputStream уходит) бросает IOException;

    private void readObject (ObjectInputStream in) throws IOException, ClassNotFoundException;

+0

изображения происходят из файлов, звуки происходят из потока; на самом деле есть набор предметов, некоторые из которых могут иметь прикрепленное изображение; изображение нельзя использовать. – yanchenko 2008-10-15 11:35:41

0

хранить данные в точности так или иначе вам нравится внутри класса, но реализовать пользовательские сериализации для данных. См. Serializable.

Смежные вопросы