Quero fazer um botão de Backup na minha aplicação. Nessa aplicação tenho arquivos de banco de dados, e queria que clicando um botão, estes arquivos fossem enviados pra o diskete ou cd… isso é possível de ser feito e alguém sabe como fazer isso???
[]´s
Mano eu tenho essa classe aki ela pega um diretorio, lista seus arkivos e comprimeos em .zip, compila e testa qualquer duvida ou ainda se funcionou post q te ajudo ai.
Falow …
import java.util.zip.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.text.DecimalFormat;
public class backup{
public backup(){
String filename = "backup";
JFileChooser fc = new JFileChooser(new File(filename));
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("zip");
filter.setDescription("Zip Files");
filter.setExtensionListInDescription(false);
fc.setFileFilter( filter );
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fc.setDragEnabled(false);
fc.setApproveButtonMnemonic('S');
fc.setApproveButtonToolTipText("Salvar Backup");
fc.setApproveButtonText("Salvar");
fc.setDialogTitle("Backup do Sistema");
int result = fc.showOpenDialog(Teste.desktop);
if( result == JFileChooser.APPROVE_OPTION){
File file = fc.getSelectedFile();
if(file != null){
byte[] buf = new byte[1024];
try {
File f = new File(lc.getConfig(1));
String[] filenames = f.list();
ZipOutputStream out = new ZipOutputStream(new FileOutputStream( file + getData() + ".zip"));
for (int i=0; i<filenames.length; i++) {
FileInputStream in = new FileInputStream(lc.getConfig(1) + "//" + filenames[i]);
out.putNextEntry(new ZipEntry(filenames[i]));
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.closeEntry();
in.close();
}
out.close();
JOptionPane.showInternalMessageDialog(Teste.desktop, "Backup Criado com Sucesso", "Criando um Backup", JOptionPane.QUESTION_MESSAGE);
} catch (IOException e) {
JOptionPane.showInternalMessageDialog(Teste.desktop, "Não Possivel Criar Backup - Tente Novamente", "", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
}
}
public String getData(){
Calendar cal = new GregorianCalendar();
DecimalFormat dig = new DecimalFormat("00");
return ("_" + dig.format( cal.get(Calendar.DAY_OF_MONTH)) + "_" + dig.format( cal.get(Calendar.MONTH) + 1) + "_" + dig.format( cal.get(Calendar.YEAR) - 2000));
}
}