Commons-Compress - Alguém possui algum exemplinho? Para compactar pasta

3 respostas
A

Commons-Compress - Alguém possui algum exemplinho? Para compactar pasta

3 Respostas

pedroroxd

Oi,

não sei se ainda necessita mas...
http://commons.apache.org/compress/apidocs/src-html/org/apache/commons/compress/archivers/ArchiveStreamFactory.html

Esse daqui eu usei quando fiz o meu, bem simples:
public class CharacterBackup {
	
	private static final SimpleDateFormat format = new SimpleDateFormat("MM_dd_yyyy");
	
	private static final String CHARSAVE_DIR = "data/characters/";
	
	public static void main(String[] args) {
		new CharacterBackup();
	}
	
	public CharacterBackup() {
		backup();
	}
	
	public void backup() {
		try {
			GZIPOutputStream output = new GZIPOutputStream(new FileOutputStream("data/backups/backup_"+format.format(new Date())+".tar.gz"));
			TarArchiveOutputStream out = new TarArchiveOutputStream(output);
			File charsave = new File(CHARSAVE_DIR);
			for(File file : charsave.listFiles()) {
				ArchiveEntry entry = out.createArchiveEntry(file, file.getName());
				out.putArchiveEntry(entry);
				out.write(readFileData(file));
				out.closeArchiveEntry();
			}
			out.flush();
			out.close();
			output.flush();
			output.close();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	private byte[] readFileData(File file) throws IOException {
		FileInputStream input = new FileInputStream(file);
		byte[] data = new byte[input.available()];
		input.read(data);
		input.close();
		return data;
	}
}

Tirei daki, onde o cara fez um exemplo para jogar o arquivo em ftp também... Bem legal

A

Thank you for helping…

pedroroxd

be my guest =)

Criado 18 de janeiro de 2011
Ultima resposta 22 de jan. de 2011
Respostas 3
Participantes 2