Duvida Compactando um arquivo txt

3 respostas
saulobt

pessoal to usando um codigo que peguei da net para criar arquivo txt e outro para compactar…

so que quando eu passo o caminho do arquivo compacta o arquivo e dentro do arquivo compactado ele cria as pastas do endereço… tipo…

c:\projeto\scr\dados.txt

ai dentro do arquivo zipado fica a pasta c:\ a subpasta projeto \ outra subpasta scr e depois o arquivo dados.txt

e eu queria somente zipar o arquivo dados.txt…

veja o codigo.

BufferedWriter Arquivo = new BufferedWriter(new FileWriter("E:/resin-2.1.17/doc/HDI/Intranet/Cheques.txt"));

aqui tem  o loop dos para preencher a variavel sDados que eu busco do banco....

Arquivo.write(sDados);   
           Arquivo.flush();  // Valida o fluxo   
		   Arquivo.close();  // fecha o fluxo 
		   HDI2.Log("CRIANDO ZIP: ");
	ZipOutputStream ArquivoZip = new ZipOutputStream(new FileOutputStream("E:/resin-2.1.17/doc/HDI/Intranet/Cheques.zip")); 
		   FileInputStream in = new FileInputStream("E:/resin-2.1.17/doc/HDI/Intranet/Cheques.txt");
		   ArquivoZip.putNextEntry(new ZipEntry("E:/resin-2.1.17/doc/HDI/Intranet/Cheques.txt"));
	try {
		  
		  byte[] buf = new byte[1024]; 
		   int len; 
	while((len = in.read(buf)) > 0){ 
		ArquivoZip.write(buf, 0, len); 
	} 

	//Finaliza a entrada 
	ArquivoZip.closeEntry(); 
	in.close(); 

	// Completa o arquivo zip 
	ArquivoZip.close(); 
	HDI2.Log("FIM ZIP: ");
	
	}catch (IOException  e) {
		HDI2.Log("ERRO ZIP: "+e);
	}

3 Respostas

T

Você precisa mexer nesta linha:

ArquivoZip.putNextEntry(new ZipEntry("E:/resin-2.1.17/doc/HDI/Intranet/Cheques.txt"));
saulobt

o que eu tenho que mudar nessa linha?

saulobt

Opa ! descobri !

esta assim : ArquivoZip.putNextEntry(new ZipEntry("E:/resin-2.1.17/doc/HDI/Intranet/Cheques.txt"));

agora esta assim:ArquivoZip.putNextEntry(new ZipEntry("Cheques.txt"));

put’s… mas tem hora que a cabeça da gente pifa… mas tudo bem… levantar ir ao banheiro, tomar um café… esticar as pernas … as vezes tb resolve !!!

abraços a todos e obrigado.

Criado 28 de janeiro de 2009
Ultima resposta 28 de jan. de 2009
Respostas 3
Participantes 2