Pergunta

Estou desenvolvendo uma espécie de um formato de troca entre instâncias de um aplicativo para que o usuário pode salvar informações de arquivo e restaurá-lo mais tarde. Todo o 'formato de troca' é uma única classe que obtém serializado e gravados no disco.

Como você sugeriria para armazenar informações / som gráfica dentro dessa classe? Eu gostaria de evitar apenas colocando os arquivos em uma .jar.

Foi útil?

Solução

Você pode manter seus recursos armazenados na classe como byte [] arrays. Usando ByteArrayInputStream e ByteArrayOutputStream você é capaz de envolver as matrizes como fluxos e usá-los para armazenar e recuperar recursos.

Outras dicas

Guarde os dados exatamente qualquer forma você gosta dentro da classe, mas implementar serialização personalizada para os dados. Consulte Serializable .

** me **

Como cerca de mais detalhes sobre o seu caso? o método "melhor" geralmente depende da aplicação particular / uso. que a imagem / som vindo de arquivos? a partir de um fluxo? É cada instância da classe esperado para armazenar imagens separadas? Ou pode uma imagem ser compartilhada entre instâncias diferentes?

gsmd

imagens vêm de arquivos, sons vêm a partir de uma corrente; há na verdade um conjunto de itens, alguns dos quais podem ter um imagem anexada; uma imagem não pode ser compartilhada


Que métodos você já tentou? Eu acho que usando a interface Serializable é o caminho a percorrer. Aqui está dois artigos sobre o tema.

Basicamente,

  1. implementar a interface Serializable em sua classe
  2. membros marca que não devem ser guardados no arquivo como transitórios (membros que contêm dados contextuais como identificadores de arquivo, ligações de socket, etc).
  3. você tem que personalizar a forma como a sua imagem e classes de sons escrever dados usando, mas de execução:

    writeObject private void (ObjectOutputStream fora) throws IOException;

    vazio readObject privada (ObjectInputStream in) throws IOException, ClassNotFoundException;

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top