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???
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 …
importjava.util.zip.*;importjava.io.*;importjavax.swing.*;importjavax.swing.event.*;importjava.awt.*;importjava.awt.event.*;importjava.util.Calendar;importjava.util.GregorianCalendar;importjava.text.DecimalFormat;publicclassbackup{publicbackup(){Stringfilename="backup";JFileChooserfc=newJFileChooser(newFile(filename));ExampleFileFilterfilter=newExampleFileFilter();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");intresult=fc.showOpenDialog(Teste.desktop);if(result==JFileChooser.APPROVE_OPTION){Filefile=fc.getSelectedFile();if(file!=null){byte[]buf=newbyte[1024];try{Filef=newFile(lc.getConfig(1));String[]filenames=f.list();ZipOutputStreamout=newZipOutputStream(newFileOutputStream(file+getData()+".zip"));for(inti=0;i<filenames.length;i++){FileInputStreamin=newFileInputStream(lc.getConfig(1)+"//"+filenames[i]);out.putNextEntry(newZipEntry(filenames[i]));intlen;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(IOExceptione){JOptionPane.showInternalMessageDialog(Teste.desktop,"Não Possivel Criar Backup - Tente Novamente","",JOptionPane.ERROR_MESSAGE);e.printStackTrace();}}}}publicStringgetData(){Calendarcal=newGregorianCalendar();DecimalFormatdig=newDecimalFormat("00");return("_"+dig.format(cal.get(Calendar.DAY_OF_MONTH))+"_"+dig.format(cal.get(Calendar.MONTH)+1)+"_"+dig.format(cal.get(Calendar.YEAR)-2000));}}