Arquivo de campo blob compactado

0 respostas
donatinho

Boa tarde galera!!!

Bom, o meu problema é o seguinte…

Tenho um campo Blob na minha base de dados. Consigo recuperar esse campo. Em seguida tenho que atribuir um nome, por exemplo, teste.zip, a ele e gravar em um diretorio.

O que ocorre é que, ao gerar um arquivo com o nome teste.zip o conteudo do zip, que é o campo Blob, também está sendo chamado de teste, mas sem a extensao.

Como faco para colocar a extensao nele?

Teria que ficar assim:

teste.zip
|__ teste.xml ()

e nao

teste.zip
|_teste

o que tenho que fazer ?

Abaixo o meu codigo que gera o arquivo zip

public static void gravarDiretorioCorrespondente(String caminho, String nomeArquivo, byte[] xml) throws IOException {
			FileOutputStream fou = null;
			FileChannel cout = null;
			byte[] bytes = xml;
			ByteBuffer buffer = ByteBuffer.wrap(bytes);
			try {
				 // Criar Pasta Temporaria para o documento
		        File pastaTemporaria = new File(caminho+"/");  
		        pastaTemporaria.mkdirs();
		        
				fou = new FileOutputStream(new File(caminho+ "/" + nomeArquivo));
				cout = fou.getChannel();
				cout.write(buffer);
			}catch (FileNotFoundException e) {
				e.printStackTrace();
				throw e;
			}catch (IOException e) {
				e.printStackTrace();
				throw e;
			}finally {
				if (cout != null) {
					cout.close();
				}
				if (fou != null) {
					fou.close();
				}
			}
		}

See ya

donatinho

:roll:

Criado 18 de maio de 2012
Respostas 0
Participantes 1