Conversão de arquivo byte[] para File sem escrever em disco

2 respostas
mrapha

Bom dia caros usuários do GUJ,

estou trabalhando recebendo arquivos em um webservice no formato byte[]. Eu gostaria de manipular este arquivo como um arquivo File dentro do meu código, pois uso APIs que trabalham com este dado.

Como eu posso fazer esta conversão?

2 Respostas

rmendes08

Você tem que gravar os bytes em disco primeiro e só então criar objetos File com o nome dos arquivos criados. O fato é que você está trabalhando com coisas diferentes. byte [] é simplesmente um array de bytes, provavelmente você não tem nenhum informação de sistema de arquivos nesses bytes, apenas os dados. Já um objeto da classe File não representa dados, é apenas uma representação de um nome no sistema de arquivos, tanto que não é possível ler ou escrever dados a partir de um objeto File, você tem que abrir um stream para isso.

Marky.Vasconcelos

Não é possivel mudar seu sistema para trablhar com Streams?

Nesse caso seria facil colocar o byte[] dentro de um ByteInputStream e enviar para algum método.
Do mesmo modo provavelmente voce esta abrindo um FileInputStream para ler o File.
Ambos implementam InputStream.

Criado 10 de agosto de 2010
Ultima resposta 10 de ago. de 2010
Respostas 2
Participantes 3